我正在使用 qmail 代表许多人发送大量电子邮件。每个作业的电子邮件数量在 40 万到 60 万封之间。
脚本php
将所有消息排队,这需要几个小时。然后,消息大约需要 24-48 小时才能出队并发送。
时间长度不是问题,但我不喜欢在奇怪的时间发送电子邮件(例如在半夜或日出时)。
有没有办法告诉 qmail 仅在特定时间范围内使邮件出队?
例如,告诉它只在早上 6 点到晚上 8 点之间清空队列,然后让它在晚上 8 点之后“休眠”,直到第二天早上 6 点才能完成队列。
使用 CentOS 6.6 Final
答案1
该命令qmailctl pause
将暂停 qmail,然后qmailctl cont
取消暂停。
如果这太多了,看一下源代码就会发现:
pause)
echo "Pausing qmail-send"
svc -p /service/qmail-send
echo "Pausing qmail-smtpd"
svc -p /service/qmail-smtpd
;;
这样做svc -p /service/qmail-send
应该阻止qmail 发送,然后又svc -c /etc/service/qmail-send
恢复正常。您可以使用 cron 作业在您选择的时间执行这些操作。