我在Fedora 15上使用sendmail版本8.14.4来发送邮件。 我的Rails应用程序使用delayed_job排队电子邮件。 消息将按照预期在/var/spool/mqueue排队,但不会总是得到处理。 我可以看到邮件和sendmail肯定是在后台运行。 重新启动过程什么也不做。 但是,当我发出sendmail -q命令时,sendmail开始工作并开始发送。 真奇怪的是,这种行为有时只发生。 其他时间消息排队并按预期交付。
我试过调整各种sendmailconfiguration,以减less队列处理之间的时间(例如,添加define('confMIN_QUEUE_AGE', '0')dnl到/etc/mail/sendmail.mc ),但似乎没有什么窍门。 任何想法可能是根本原因?
在我的FC15盒子上:
ps auxw | fgrep sendmail root 1803 ... sendmail: accepting connections smmsp 1812 ... sendmail: Queue runner@01:00:00 for /var/spool/clientmqueue
你有两个bg sendmail的:第一个是incomng邮件,第二个每小时运行一次队列。 您可以通过更改/ etc / sysconfig / sendmail中find的设置(15分钟是最喜欢的值)来调整运行之间的时间。
sendmail.mc的东西是用于其他目的(请参阅sendmail-config包中的README文件)
请注意,对于股票sendmailconfiguration,只有当邮件无法立即传送(因为它们是灰名单,或者目标服务器closures或者太忙等等),邮件才会在队列中结束,所以非常频繁的队列运行通常没有多大帮助。