java发送mail

更新时间 🔔🕙 2021年5月4日

环境:
jdk:1.8

使用Java发送mail的时候,经常会碰到下面的问题。
在windows机器上,发送不了,报错:

Caused by: javax.mail.MessagingException: Could not connect to SMTP host: 172.1x.xx.xx, port: 25;

这种情况下,有几种情况:
1.邮件服务器不对。
2.邮件服务器对,但是windows机器上有防病毒软件,拦截了你的请求。

还有一种错误,在Linux上很常见。
现象:windows机器上测试正确,部署到Linux上就报错。

javax.mail.MessagingException: 501 Syntax: HELO hostname

或是

javax.mail.MessagingException: 500 Error: bad syntax

这是因为host文件中,没有指定当前机器的ip。
例如,当前机器名是test,那么在host文件【/etc/hosts】中,一定要加上这样一行

127.0.0.1 test

再用下列命令查看,出来结果即正确

hostname -i

会显示

127.0.0.1
转载请备注引用地址:编程记忆 » java发送mail