除了邮件传输问题,还有两种常见问题可能导致未处理的邮件存在于邮件队列中:
队列高速缓存与队列目录中的邮件不同步。MTA 队列子目录中正在等待传送的邮件文件进入到内存中的队列高速缓存。通道程序运行时,将询问此队列高速缓存以确定要在通道队列中传送的邮件。有些情况下,队列中有邮件文件,但是没有相应的队列高速缓存条目。
要检查队列高速缓存中是否有某个特定文件,可以使用 imsimta cache -view 实用程序;如果该文件不在队列高速缓存中,则需要同步队列高速缓存。
通常每四小时同步队列高速缓存一次。如果需要,可以使用命令 imsimta cache -sync 手动重新同步高速缓存。同步后,通道程序将在处理完新邮件后处理原来未处理的邮件。如果要更改默认值(4 小时),则应该通过添加 sync_time=timeperiod(其中 timeperiod 反映同步队列高速缓存的频率)来修改目录 /msg_svr_base/config 中的 job_controller.cnf 文件。请注意,timeperiod 必须大于 30 分钟。在以下示例中,通过将 sync_time=02:00 添加到 job_controller.cnf 的全局默认部分,队列高速缓存同步时间被修改为 2 小时:
! VERSION=5.0 !IMTA job controller configuration file ! !Global defaults tcp_port=27442 secret=N1Y9[HzQKW slave_command=NULL sync_time=02:00 |
您可以运行 imsimta submit channel 以在运行 imsimta cache -sync 后清除积压的邮件。要特别注意,如果邮件的待办事项较大(大于 1000),则清除通道可能需要花很长时间。
要获得队列高速缓存的摘要信息,请运行 imsimta qm -maint dir -database -total。
如果在同步了队列高速缓存后,仍没有传送邮件,则应该重新启动作业控制器。要执行此操作,请使用 imsimta restart job_controller 命令。
重新启动作业控制器将导致从磁盘上的邮件队列重建邮件数据结构。
重新启动作业控制器是一个激烈步骤,应该仅在完全用尽了所有其他方法时才执行。
有关作业控制器的更多信息,请参见作业控制器。
通道处理程序无法运行,因为无法创建其处理日志文件。请检查访问权限、磁盘空间和配额。