一直使用网易邮箱来做邮件的发送测试,用JavaMail发送邮件需要使用网易邮箱的授权码,但今天QA跑过来说国外的邮箱没有授权码的概念。查了一下,果然,比如Gmail就是直接使用登录密码的。

代码参考了:https://blog.csdn.net/licl19870605/article/details/8164401

Gmail要做两处的设置:

1)启用IMAP(如果只使用smtp协议发送邮件,强烈怀疑此步可选)

越过GFW,使用JavaMail通过Gmail发送邮件-LMLPHP

根据 https://support.google.com/mail/answer/7104828?hl=zh-Hans&visit_id=636982747897197488-4012578247&rd=1(点击上图中POP下载中的 了解详情活配置说明)smtp服务器的配置如下:

越过GFW,使用JavaMail通过Gmail发送邮件-LMLPHP

2)启用 安全性较低的应用的访问权限(必做,否则连接不上gmail服务器)

越过GFW,使用JavaMail通过Gmail发送邮件-LMLPHP

将代码达成jar包之后,上传到阿里云的香港服务器,使用java -jar的方式运行。

用maven打包需要配置好mainClass,打包完成后,运行过程中遇到了"Error: A JNI error has occurred, please check your installation and try again", 参考解决, 用maven-assembly-plugin代替maven-jar-plugin进行打包!

中途尝试过在本地运行,参考(使用http://ping.chinaz.com/)有一次连接成功了,但由于未启用安全性较低的应用的访问权限,邮件发送被拦截,Gmail还发了一封提醒邮件:

越过GFW,使用JavaMail通过Gmail发送邮件-LMLPHP

07-10 02:50