代码跟上一篇的差不多,只需改变smpt的服务器地址和端口号。
package com.wjl.mail.utils; import java.security.GeneralSecurityException; import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.Message.RecipientType; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; /** * 邮 件 发 送 的 工 具 类 * 1 6 3 邮 箱 互 相 发 送 消 息 */ public class MailUtils3 { private static String userName = "xxxx";//发 送 邮 件的1 6 3邮 箱 账 号 private static String password = "xxxx";//1 6 3 邮 箱 的 授 权 码,若 没 有 则 使 用 密 码 private static String userName2 = "xxxx";//接 收 邮 件 的 1 6 3 邮 箱 账 号 private static String port = "25";//端 口 号 /** * 该 方 法 用 来 发 送 邮 件 * @param to:给 谁 发 邮 件 * **/ public static void sendMain(String to) throws AddressException, MessagingException, GeneralSecurityException{ //1、创 建 连 接 对 象,连 接 到 邮 箱 服 务 器 Properties props = new Properties(); //开 启debug调试 props.setProperty("mail.debug", "true"); //stmp服务器需要进行身份验证,也就是有 户 名和密 码的校验,这样才能通过验证 props.setProperty("mail.smtp.auth", "true"); //发送邮件协议名称 props.setProperty("mail.transport.protocol", "smtp"); //设置邮件服务器主机名 props.setProperty("mail.host", "smtp.163.com");//设置成163的发件服务器 //设端口号(该配置可写可不写) props.setProperty("mail.smtp.port", port); //密 码、授 权 码 props.setProperty("mail.smtp.password",password); //Authenticator:认证信息 Session session = Session.getInstance(props, new Authenticator(){ @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(userName,password);//使用它给其他账户发邮件 } }); //2、创建邮件对象 Message message = new MimeMessage(session); //2.1设置发件人 message.setFrom(new InternetAddress(userName)); //2、2设置收件人 message.setRecipient(RecipientType.TO, new InternetAddress(to)); //2.3邮件的主题 message.setSubject("测试发消息"); //2.4邮件的正文(即邮件的内容) message.setContent("测试邮件:javaMail-网 易 邮 箱测试","text/html;charset=utf-8"); //3.发送邮 件 Transport trans = session.getTransport(); //连接邮 件服务器 trans.connect(userName, password); //发送邮 件 trans.sendMessage(message, message.getAllRecipients()); //关 闭连接 trans.close(); //Transport.send(message);(两种方式都可以) System.out.println("发送成功"); } public static void main(String[] args) { try { sendMain(userName2); } catch (Exception e) { e.printStackTrace(); } } }
在Foxmail中添加网易邮箱账户进行邮件查看。
注意点:发送邮件的163 邮 箱的smtp必须处于开启状态。
查看是否开启:
通过网页登陆网易邮箱---->设置---->POP9/SMTP/IMAP---->设置POP9/SMTP/IMAP。
默认情况下,SMTP和POP3的服务处于开 启状态。若处于关 闭状态,执行代码将报错:javax.mail.AuthenticationFailedException: 550 User has no permission
值得一提的是网 易 邮 箱的密 码和授 权 码。
如上文所说,默认情况下网 易 邮 箱的smtp服务是开 启的,此时上面代码中的password使用邮 箱 账 户的密 码即可。
若手动将smtp服务其关 闭,再手动开 启,此时网易会要求设置授权码,设置授权码比较简单,根据提示进行设置即可(硬性要求:授权码只能是数字和字母,且不能与密 码一致)。设置之后,上面代码中的password必须使用授权码,否则将报错:javax.mail.AuthenticationFailedException: 535 Error: authentication failed
PPS:敏 感 词 应该是开 启、关 闭、邮 箱、密 码、授 权 码
相关推荐
NULL 博文链接:https://1017401036.iteye.com/blog/2407507
javamail例子——简单好用 可以直接发电子邮件 1.当工程是java EE 5的时候 在工程里面应该删除java EE 5里面相对应的 jar 路径在 第一个问题就是删除Java EE 5 Libraries/javaee.jar/mail。 第二个问题就是删除Java...
使用JAVAMail代发邮件 资源源于不但搜索,自由源于不但努力
介绍了使用javamail发送电子邮件时所需要使用的类,还有代码示例
介绍了如何利用javamail实现带附件的邮件发送,附有代码
JavaMail邮件收发实例_JavaMail_API JavaMail邮件收发实例_JavaMail_API JavaMail邮件收发实例_JavaMail_API JavaMail邮件收发实例_JavaMail_API JavaMail邮件收发实例_JavaMail_API
java 发邮件java 发邮件java 发邮件java 发邮件
资源包括邮件的发送、邮件的接收、查看邮件总数量和未读邮件数以及查看未读邮件并标记已读,还有我自己编写的简单的文档。希望能帮助需要帮助的筒子们
javamail 回执邮件资料
基于javaMail电子邮件系统的设计(含源文件).pdf基于javaMail电子邮件系统的设计(含源文件).pdf基于javaMail电子邮件系统的设计(含源文件).pdf基于javaMail电子邮件系统的设计(含源文件).pdf基于javaMail电子邮件系统...
JSP学习系列之JavaMail发邮件 JSP学习系列之JavaMail发邮件
此源码是使用javamail发送邮件,可以实现静默发送邮件,可以发送附件资源等。有相应的使用说明,快捷好用
javamail发送邮件;支持群发、单次发送;文本发送,html发送
使用Java完成的简单邮箱系统,界面由Java Swing实现,具有以下功能: 1、邮件收发等邮箱基本功能 2、可设置黑名单、白名单,并过滤邮件 3、使用朴素贝叶斯算法检测评估邮件是否为垃圾邮件
基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件...
james_javamail邮件服务学习james_javamail邮件服务学习
介绍了如何利用javamail实现给多人发送电子邮件,附有代码
javamail发送邮件实例 javamail 发送邮件 文本编辑器 kindeditor
javaMail发送邮件 发送成功 收不到邮件 或收到邮件无主题无收件人乱码 查看debug 邮件处理过程发现邮件头没有编译, 内容是base64编码,所以邮箱收不到或者收到的是base64编码后的一堆乱码,
怎么用JavaMail收取邮件.doc怎么用JavaMail收取邮件.doc