代码跟网 易 邮 箱的那篇差不多,除了smtp服务器地址不同之外,还需要添加“开 启 S S L 加 密 ”的代码。
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; import com.sun.mail.util.MailSSLSocketFactory; /** * 邮 件 发 送 的 工 具 类 * Q Q 邮 箱 互 相 发 送 消 息 */ public class MailUtils { private static String userName = "XXXX";//发 送邮 件的Q Q邮 箱 账 号 private static String password = "XXXX";//授 权 码 private static String userName2 = "XXXXX";//接 收 邮 件 的Q Q邮 箱 账 号 private static String port = "465";//465、587 /** * 该 方 法 用 来 发 送 邮 件 * @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.qq.com");//设 置 成 q q 的发 件 服 务 器:(不要使用smtp.exmail.qq.com) //设 端 口 号 (该 配 置 可 写 可 不 写) props.setProperty("mail.smtp.port", port); //授 权 码 props.setProperty("mail.smtp.password",password); //开 启 S S L 加 密,否 则 会 失 败 MailSSLSocketFactory sf = new MailSSLSocketFactory(); sf.setTrustAllHosts(true); props.put("mail.smtp.ssl.enable", "true"); props.put("mail.smtp.ssl.socketFactory", sf); //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-Q Q 邮 箱 测 试","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(); } } }
开 启 SSL 加 密的代码:
//开 启 SSL加 密,否则会失败 MailSSLSocketFactory sf = new MailSSLSocketFactory(); sf.setTrustAllHosts(true); props.put("mail.smtp.ssl.enable", "true"); props.put("mail.smtp.ssl.socketFactory", sf);
在FoxMail中添加Q Q 邮 箱 账 户 用来查看邮件:
注意点:
1、邮 箱 必 须 开 启 S M T P ,获 取 授 权 码(如 何 获 取?点 我),且 使 用 最 新 的 授 权 码 发 邮 件。
2、必 须 添 加 开 启 SSL 加 密 的 代 码,不 然 会 报 错。
3、在 Foxmail 中 添 加 Q Q 邮 箱 账 户 时 必 须 使用 授 权 码(不 能 是 Q Q 邮 箱 密 码) ,且必须勾选“SSL”,否则将添 加 账 户失败。
在弄Q Q 邮 箱的过程中碰到的问题太多了,下一篇专门写问题,这里就不多说了。
相关推荐
javamail例子——简单好用 可以直接发电子邮件 1.当工程是java EE 5的时候 在工程里面应该删除java EE 5里面相对应的 jar 路径在 第一个问题就是删除Java EE 5 Libraries/javaee.jar/mail。 第二个问题就是删除Java...
NULL 博文链接:https://1017401036.iteye.com/blog/2407507
使用JAVAMail代发邮件 资源源于不但搜索,自由源于不但努力
介绍了使用javamail发送电子邮件时所需要使用的类,还有代码示例
介绍了如何利用javamail实现带附件的邮件发送,附有代码
java 发邮件java 发邮件java 发邮件java 发邮件
JavaMail邮件收发实例_JavaMail_API JavaMail邮件收发实例_JavaMail_API JavaMail邮件收发实例_JavaMail_API JavaMail邮件收发实例_JavaMail_API JavaMail邮件收发实例_JavaMail_API
资源包括邮件的发送、邮件的接收、查看邮件总数量和未读邮件数以及查看未读邮件并标记已读,还有我自己编写的简单的文档。希望能帮助需要帮助的筒子们
javamail 回执邮件资料
此源码是使用javamail发送邮件,可以实现静默发送邮件,可以发送附件资源等。有相应的使用说明,快捷好用
JSP学习系列之JavaMail发邮件 JSP学习系列之JavaMail发邮件
基于javaMail电子邮件系统的设计(含源文件).pdf基于javaMail电子邮件系统的设计(含源文件).pdf基于javaMail电子邮件系统的设计(含源文件).pdf基于javaMail电子邮件系统的设计(含源文件).pdf基于javaMail电子邮件系统...
javamail发送邮件;支持群发、单次发送;文本发送,html发送
使用Java完成的简单邮箱系统,界面由Java Swing实现,具有以下功能: 1、邮件收发等邮箱基本功能 2、可设置黑名单、白名单,并过滤邮件 3、使用朴素贝叶斯算法检测评估邮件是否为垃圾邮件
javamail发送邮件实例 javamail 发送邮件 文本编辑器 kindeditor
james_javamail邮件服务学习james_javamail邮件服务学习
怎么用JavaMail收取邮件.doc怎么用JavaMail收取邮件.doc
javaMail发送邮件 发送成功 收不到邮件 或收到邮件无主题无收件人乱码 查看debug 邮件处理过程发现邮件头没有编译, 内容是base64编码,所以邮箱收不到或者收到的是base64编码后的一堆乱码,
基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件...
介绍了如何利用javamail实现给多人发送电子邮件,附有代码