自从升级到 CF10 以来,我们的自动化 ColdFusion 电子邮件一直存在一些奇怪的问题。这些流程在过去总是正常运行,但最近我们遇到了一些非常不寻常的问题,我将在下面进一步描述。
我们通常从通常每天收到这些带有或不带有附件的电子邮件的联系人中发现问题。我们将转到相应服务器的 CFMAIL 目录,并找到大量卡在“Undelivr”电子邮件中的电子邮件。在某些情况下,我们可以将这些电子邮件移动到 Spool 文件夹并且它们可以正常处理,但在大多数情况下,它们会导致以下两个错误之一:
错误 1:在通常不包含正文但包含附件的电子邮件中,我们在日志中发现以下错误:
"Error","scheduler-1","01/15/13","14:09:56",,"javax.mail.MessagingExce ption: missing body for message"
javax.mail.MessagingException: missing body for message
at coldfusion.mail.MailImpl.createMessage(MailImpl.java:696)
at coldfusion.mail.MailSpooler.deliver(MailSpooler.java:1295)
at coldfusion.mail.MailSpooler.sendMail(MailSpooler.java:1197)
at coldfusion.mail.MailSpooler.deliverFast(MailSpooler.java:1657)
at coldfusion.mail.MailSpooler.run(MailSpooler.java:1567)
at coldfusion.scheduling.ThreadPool.run(ThreadPool.java:211)
at coldfusion.scheduling.WorkerThread.run(WorkerThread.java:71)
将这些过去一直以这种方式发送而没有附件的电子邮件放置在假脱机目录中会导致它直接返回“Undelivr”文件夹并导致相同的错误。我们最终不得不修改电子邮件文件并在正文消息中添加随机内容,将其放回假脱机目录,然后它就通过了。- 令人难以置信。
错误2:
"Error","scheduler-2","02/04/13","09:08:17",,"javax.mail.MessagingExce ption: Exception reading response; nested exception is: java.net.SocketException: Connection reset"
这两个错误都是随机发生的,我们无法不时找出导致它们随机发生的原因。所有其他电子邮件都可以正常通过,但某些电子邮件永远不会发出并最终进入“Undelivr”文件夹。
我们在 Windows Server 2008 64 位上运行它们。