0

プロジェクトでphpsendmail()関数を使用しています。3通以上送信すると処理が遅くなります。何が問題ですか?PHPMailerを使用する場合、この問題は解決しますか?

4

2 に答える 2

1

mail()関数には、sendmailまたはいくつかの問題に適用されるいくつかの制限があるようです。たとえばhttp://swiftmailer.org/を使用してSMTP経由でメールを送信してみて、問題が解決するかどうかを確認してください。

于 2009-11-02T10:19:01.923 に答える
1

これを遅くする原因となる可能性のあることがいくつかあります。

sendmail()が戻る前に、各電子メールが完全に送信されるのを待っている場合があります。これは、SMTPソケットを開き、別のメールサーバーと通信し、電子メールを送信して、ソケットを再び閉じることを意味します。

かなりの数のメールをバッチで送信するシステムがあり、そのためにPHPMailerを使用しています。ソケットを一度開いて、たくさんのメッセージを送信してから再び閉じます。これで良好なパフォーマンスが得られます(1回の実行で数百の電子メールを送信できます)。

メッセージがすべての受信者と同一である場合は、すべてを1つの電子メールで送信し、全員にBCCを送信することをお勧めします。これにより、スクリプトから多くのプレッシャーが取り除かれます。

チェックするもう1つのことは、ローカルウイルススキャナーです。以前は、送信メールスキャナーですべてが停止するという問題がありました。調べる価値があります。

于 2009-11-02T10:20:14.763 に答える