私はリストから電子メールアドレスを抽出し、次々に電子メールを送信するPHPコードを開発しました。 PHPMailerライブラリを使用してGmailアカウントを送信しています。PHPMailerを使用したSMTPメールの時間最適化
私は、一度に約5000通のメールを送信するつもりです。 (これはスパムではなく心配しないでください。これは出席者に予定されているイベントに関する通知です)。今までのところ、最高の出力はコードが5分間実行される133の電子メールです。それは非常に遅いです。私はset_time_limit()
で実行時間を延ばすことができると思います。それでも、すべてのメールの送信を完全に完了するまでには約3時間かかります。私のコードについて
少数の明確化:私はSMTPKeepAlive = true;
2.電子メールの設定だけでなく、接続して生きているSMTP接続を保持している 1は、ループの外です。ループ内では、電子メールIDだけを抽出し、AddAddressに渡して送信します。 3.私は、メーリングリストのウェブサイト/ソフトウェアを使用するのではなく、自分のコードに固執したいと思います。
プロセスを最適化して数分で完了できますか?
を持っています。 PHPMailerで提供されているメーリングリストの例に基づいてコードを作成しましたか? Gmailは決して非常に高速になることはありません。速度を上げるには、リレーとして機能するローカルのMTAにメッセージを送信します。そのメカニズムを使って、私は最大約100万メッセージ/時間を得ることができます。 5000にはほんの数秒しかかかりません。 – Synchro
プロファイラを使用して、コードの所要時間を調べます。 – Robert
SMTP接続を開いたままにして、同じSMTPセッション内で5000個のメールをすべて送信するとしますか?多くのファイアウォール(私が働いているものを含む)が長い接続時間を失うため、何らかの理由がありますか?特定のIPから1時間以内に送信できる電子メールの数も料金に含まれます。 – Kitson88