PEAR / Mail_Queueにメールを送る10,000+するための最良の方法
-
16-09-2019 - |
質問
私は、全体のメール情報を生成し、それらが送信されている後にメールを削除するオプションを$mail_queue->put(.....)
を使用してデータベーステーブルに置くのcronを持っています。
ここでですか?他のcronジョブ(複数可)、または何か他のものを使用して、すぐに$mail_queue->sendMailsInQueue()
を実行する?
の方法により、サーバーの制限は100通の電子メール/分です。現在Mail_Queue
のための最後のCSV diffは(現在その上の支援と協力)が適用されていないので、私は「遅延」オプションを使用することはできません。
私は$seconds_to_send
オプションを使用するために考えていたが、それは大きな助けないCREATE_TIMEフィールドのベースに計算していますが、それはまた、オプションです。
任意のアイデアや提案は本当にいただければ幸いです。
解決
それは失敗の少ない機会を与えるので、個人的に、私はcronの道を行くだろう。メールサーバーが応答またはその他の理由で使用できなくなった停止しますと言います。またはネットワーク全体を数時間オフラインになった場合には何が、サーバは、まだ電子メールを生成しています。私はキューを使用すると言っています。
遅延の事に関しては、単にサービスを持っている/、キューごとに60秒を拾う100通のメールをポップし、それらを送信し、終了しますcronジョブ。あなたは、送信するメールのキューを取得する可能性がありますが、それは関係なく、あなたが何を選ぶかシステム起こらないだろう。キューはとにかく、オフピーク時に空になります。
他のヒント
2つのスクリプトを使用します。外出先で90通のメールの塊でこれらの電子メールを送信するためにあなたが送信する必要が電子メールと2番目のスクリプトを使用してmail_queueテーブルを埋めるための1。 2分ごとかそこらについてアクティブ化される第2のスクリプトを設定します。
あなたも自分のホスティングプランをアップグレードすることができ; - )
あなたは60秒のための100通の電子メールをループや睡眠いけない理由。これはあなたに何のSERVERTIME、スクリプトが少し長く走る唯一の欠点は費用はかかりません。