前两天有客户提出最近自动发送Email的功能好像不是很稳定,很多次mail-to-list都接收不了邮件,我在本地也做了多次尝试,这里记录一下。
将SMTP设置成一个未知的Host,使用发送邮件时,程序中Catch不到任何异常。后来我就在\WEB-INF\lucee\logs\mail.log文件中查看有没有错误信息:
未知SMPT Server时,mail.log会记录如下信息:
"ERROR","Thread-186","04/08/2016","21:09:00","","mail;Unknown SMTP host: smtp.mail.test.com; nested exception is: java.net.UnknownHostException: smtp.mail.test.com;Unknown SMTP host: smtp.mail.test.com; nested exception is: java.net.UnknownHostException: smtp.mail.test.com at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1225):1225 at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:322):322 at javax.mail.Service.connect(Service.java:236):236 at lucee.runtime.net.smtp.SMTPSender.run(Unknown Source):-1 "
Email用户名或密码不对时,mail.log会记录如下信息:
"ERROR","Thread-182","04/08/2016","20:18:37","","mail;553 Mail from must equal authorized user ;553 Mail from must equal authorized user at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1333):1333 at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:906):906 at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:535):535 at lucee.runtime.net.smtp.SMTPSender.run(Unknown Source):-1 "
后来我打开Lucee的Web Administrator页面,进入Services – Tasks页面,就能看到type=mail的Task列表,这些都是自己发送异常的Email。Lucee会把这些发送异常的Email放在Task列表中,于第二天的那个时间再次尝试发送。