您的位置:首页 > 编程语言 > Java开发

Java基于JavaMail实现向QQ邮箱发送邮件

2017-03-17 13:04 615 查看
http://www.jb51.net/article/78405.htm
http://www.jb51.net/article/80958.htm http://www.cnblogs.com/itsource/p/4262703.html
最近项目在做新闻爬虫,想实现这个功能:爬虫某个页面失败后,把这个页面的 url 发到邮箱。最终实现的效果图如下,后期可以加上过滤标签、失败状态码等,方便分类搜索异常。



开发人员可以根据邮件里的 url 和堆栈信息,分析爬虫失败的原因。

是不是服务器 down 了?


还是爬虫的 Dom 解析没有解析到内容?


还是正则表达式对于这个页面不适用?



开启SMTP服务

在 QQ 邮箱里的 设置->账户里开启 SMTP 服务





注意开启完之后,QQ 邮箱会生成一个授权码,在代码里连接邮箱使用这个授权码而不是原始的邮箱密码,这样可以避免使用明文密码。





网上查了一下例子,根据这篇文章 Java Mail(二):JavaMail介绍及发送一封简单邮件 的示例代码。

?
但是报错了

?
因为示例代码是用的163邮箱,而笔者是 QQ 邮箱,看 Log 分析是 QQ 邮箱需要 SSL 加密。

开启 SSL 加密

网上搜了一下,其他比如163、新浪邮箱不需要 SSL 加密,可以放弃 QQ 邮箱。

网上还有种说法,把 smtp.qq.com 换成 smtp.exmail.qq.com也不需要 SSL加密,但是笔者没有run成功。所以还是老老实实加上 SSL 加密吧。

下面的代码开启了 SSL 加密

?
成功了,控制台输出 Log 和效果图如下

?


完整代码示例

?
以上就是本文的全部内容,希望对大家的学习有所帮助。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javamail