本文实例讲解了java发邮件的详细过程,供大家参考,具体内容如下 1、邮件协议 发邮件的:SMTP (Simple Mail Transport Protocal) 收邮件的协议:pop3 (Post Office Protocal 3) IMAP 新协议 发邮件也可以收邮件。 (一步步的与服务器交互) SMTP :  2、收发邮件的过程: 一般情况下,smtp和pop3是两个服务器(主机)。 Smtp邮件的端口为25。 POP3 端口 为110。 发邮件示例 1)、安装foxmail:  2)、发邮件时,要对用户名和密码进行base64编码 - //对用户名和密码进行base64编码
- @Test
- public void base64(){
- String name = "wj_leaf12345";
- String pwd = "1qaz2wsx";
- BASE64Encoder en = new BASE64Encoder();
- name = en.encode(name.getBytes());
- pwd = en.encode(pwd.getBytes());
- System.err.println(name);
- System.err.println(pwd);
- }
复制代码 3)、通过java代码发邮件 用java发邮件,必须要导入新的包 mail.jar – 发邮件的核心包 activation.jar – 对用户和密码加密. 在mail.jar中有三个核心类: Javax.mail.Session – 是指与邮件服务器会话。整个项目中只要一个就可以了. Javax.mail.Message(接口) —准备发送数据信息。 MimeMessage - 可以设置类型的数据信息。 Transport – 它拥有一个方法可以发送Message。 第一步:导入两个jar包 第二步:发简单的邮件 - public void sendMail() throws Exception{
- //第一步:声明properties对象放信息
- Properties prop = new Properties();
- //设置连接哪一台服务器
- prop.setProperty("mail.host","smtp.126.com");
- //设置是否验证
- prop.setProperty("mail.smtp.auth", "true");
- //第二步:声明用户名和密码
- Authenticator auth = new Authenticator() {
- //此访求返回用户和密码的对象
- public PasswordAuthentication getPasswordAuthentication() {
- PasswordAuthentication pa =
- new PasswordAuthentication("aaa", "sss");
- return pa;
- }
- };
- ////第二步:获取Session对象
- Session session =
- Session.getDefaultInstance(prop,auth);
- //设置session的调试模式
- session.setDebug(true);
- //第三步:声明信息
- MimeMessage mm1 =
- new MimeMessage(session);
-
- //第四步:设置发件人email
- Address from = new InternetAddress("wj@126.com");
- mm1.setFrom(from);
- //第五步:设置收件人
- mm1.setRecipient(RecipientType.TO,new InternetAddress("wj@163.com"));
- mm1.setRecipient(RecipientType.CC, new InternetAddress("554@qq.com"));
- mm1.setRecipient(RecipientType.BCC, new InternetAddress("wj@ss.cn"));
- //第六步:设置主题
- mm1.setSubject("这是用Java发的邮件3");
- mm1.setContent("你好,这是用java发的邮件,3333再试一下", "text/plain;charset=UTF-8");
- //第七步:
- Transport.send(mm1);
- }
-
复制代码 第三步:v发带有超连接的邮件 - mm1.setSubject("这是用Java发的邮件sfasdf3");
- mm1.setContent("你好,这是用java发的邮件,<a href='http://www.baidu.com'>百度</a>", "text/html;charset=UTF-8" );
- //第七步:
- Transport.send(mm1);
复制代码 第四步:符件的邮件 以上就是本文的全部内容,希望对大家的学习有所帮助。 |