Coldfusion 邮件服务卡住,后台文件夹不断增大

Coldfusion 邮件服务卡住,后台文件夹不断增大

我断断续续处理这个问题已经好多年了,可以追溯到 CF 5 和 6。

突然之间,Coldfusion 停止发送电子邮件,而邮件却一直在队列中堆积。

要重新启动服务,我可以重新启动 coldfusion 或运行以下代码:

  <cfset sFactory = CreateObject("java","coldfusion.server.ServiceFactory")>
  <cfset MailSpoolService = sFactory.mailSpoolService>
  <cfset MailSpoolService.start()>

上面的解决方案是 stackoverflow 上提到的修复: https://stackoverflow.com/questions/94932/coldfusion-mail-queue-stops-processing

我的目标是找到一个日志或者一些可以帮助我找到问题原因的东西。

有没有日志可以告诉我是什么原因导致 mailspoolservice 崩溃?我似乎无法在 CF Admin 中找到任何错误。

我也尝试过重现此问题,但是不成功。

我目前正在 Windows 2008 R2 上运行 CF9,并应用了最新的修补程序

答案1

您现在运行的是哪个版本的 ColdFusion,在哪个平台上?

您可以通过邮件设置下的 ColdFusion 管理员添加一些日志信息。 请参阅此处有关 ColdFusion 9 上的邮件日志记录的文档。

错误日志严重性

从下拉列表对象中,选择要写入日志文件的 SMTP 相关错误消息类型。选项如下:

  • 调试(包含信息、警告和错误)

  • 信息(包含警告和错误)

  • 警告(包含错误)

  • 错误

ColdFusion 将已发送邮件和邮件错误日志写入以下目录:

  • \coldfusion9\logs(Windows 服务器配置)

  • /opt/coldfusion9/log(Solaris 和 Linux 服务器配置)

  • cf_webapp_root/WEB-INF/cfusion/logs(多服务器和 J2EE 配置,所有平台)

生成的电子邮件日志文件包括:

  • mailsent.log-记录已发送的电子邮件信息。

  • mail.log—记录一般电子邮件错误。

您的邮件记录现在设置为什么?

答案2

在我们的一台生产服务器(出于向后兼容的原因,使用的是 coldfusion 8)上,我们也会时不时地遇到这个问题,尽管这种情况很少发生,大概半年一次左右。我把它放在一个很小的计划任务上,例如每小时运行一次,以观察邮件假脱机文件夹是否卡住,如果卡住,则重新启动服务(不是 cf 服务器,而是假脱机服务):

Mail-Spool-Directory 来自 coldfusion 8 默认目录:

<cfdirectory directory="C:\JRun4\servers\cfusion\cfusion-ear\cfusion-war\WEB-INF\cfusion\Mail\Spool" name="dirQuery" action="LIST" sort = "datelastmodified ASC">

<cfquery name="oldest" dbtype="query" maxrows="1">
    SELECT dateLastModified  FROM dirQuery ORDER BY dateLastModified 
</cfquery>
<cfif oldest.recordcount GTE 1>
    <cfif DateDiff("h",oldest.dateLastModified ,now()) GTE 2>
        DO RESTART MAILQUEUE SERVICE...
        <cfset sFactory = CreateObject("java","coldfusion.server.ServiceFactory")>
        <cfset MailSpoolService = sFactory.mailSpoolService>
        <cfset MailSpoolService.stop()>
        <cfset MailSpoolService.start()>
        done
    <cfelse>
        files there but younger than 2 h
    </cfif>
<cfelse>
    dir empty
</cfif>

相关内容