私は多くの人に代わって大量の電子メールを送信するためにキューメールを使用しています。ジョブあたりのメール数は400,000〜600,000です。
スクリプトはphp
すべてのメッセージをキューに追加するのに数時間かかります。その後、メッセージがキューから削除され送信されるまでに約24〜48時間かかります。
時間は問題ではありませんが、奇妙な時間(夜間や日の出時間など)に電子メールを送信するのは好きではありません。
キューメールが特定の時間範囲内でのみメールをキューから引き出すように指示する方法はありますか?
たとえば、午前6時から午後8時の間にのみキューを消去し、午後8時以降は「スリープ」のままにし、翌日午前6時までキューを終了しないように指示します。
CentOS 6.6 Finalの使用
答え1
このコマンドはqmailctl pause
キューメールを一時停止してから一時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
キューメールの送信が停止し、svc -c /etc/service/qmail-send
正常に戻ります。 cronタスクを使用して、必要な時間にこれらのタスクを実行できます。