java使用javax.mail发送邮件爬坑

发送邮件的时候邮件服务器端返回:Invalid Addresses;问题

1、查看发送收件人是否填写正确

2、查看host是否配置了邮箱服务器地址

javax.mail jar的版本有的支持

Properties props = System.getProperties();

props.setProperty("mail.smtp.host", smtp.163.com);

有的版本支持:

props.put("mail.smtp.localhost", smtp.163.com);

排查问题时候,把发送session调整成debug模式,可以查看日志

Session session = Session.getInstance(props);
session.setDebug(true);

日志显示

EHLO 本机名

请注意,邮箱服务器默认有设置了域名监测功能,在多次提交之后可能出现 Invalid Addresses;邮箱服务器端直接把请求地址给干掉了,这个时候需要骗过邮箱服务器设置他自己的域名

props.put("mail.smtp.localhost",域名);

使用此方法

EHLO 提交的域名

这样就能骗过邮件箱的域名安全检查

你可能感兴趣的:(java)