常使用apache的commons-email.xx.jar包发送邮件
一、介绍
常用邮件客户端:faxmail,outlook
发邮件时设置的各种信息:主题、内容等都是必须的,除了附件之外,其他的缺一不可
使用163、腾讯等发邮件的时候,首先要看邮箱提供的帮助,其中会有各种信息,如smtp的地址
SMTP:发送邮件,端口 25
POP3:接收邮件,端口 110
其中网易的邮箱自动开启了SMTP服务和POP3服务,腾讯默认是关闭SMTP服务的,使用之前需要手动打开,否则无法邮件发送将会失败,程序会报错。
二、常见问题和解决
①报错:com.sun.mail.smtp.SMTPSendFailedException: 553 Mail from must equal authorized user
原因:mail.setFrom()和mail.setAuthentication()设置不一致(即验证的邮箱用户名和发送时候填写的邮箱地址不一样),前一个是公司邮箱地址,后一个是163,因此SMTP服务器驳回了请求。
②用javamail通过SMTP发送邮件时,报错:554 MI:SPB UserReject 0,smtp3,DdGowECJnmyHiT9PoF8yDQ--.14110S2 1329564039 please feedback at http://feedback.mail.126.com/antispam/complain.php?user=****@163.com
原因:你的账户可能被冻结了
解决:
在浏览器地址栏中输入上面错误信息中的feedback URL:
http://feedback.mail.126.com/antispam/complain.php?user=****@163.com
注意上面的邮箱应是你自己的邮箱。打开这个网页后可以看到被冻结的各种原因,看看自己触犯了哪些? 在这些原因的下面需填入一些必要反馈信息,提交后页面提示“已解禁,10分钟后再试”之类的信息。貌似已成功解禁。再次通过javamail发送邮件成功,证实已解禁。