私はstrutsプロジェクトからjavaメール(com.sun.mail.smtp)を使用しました。メールは正常に送信されますが、受信者は遅れてメールを終了します。それは2または3時間かかります。Javaメールの遅延が発生する
同じsmtp設定のPHPメーラーを使用している場合、遅延はありません。メールは完全に機能しています。
誰もがこの問題に直面している理由は何ですか?
私はstrutsプロジェクトからjavaメール(com.sun.mail.smtp)を使用しました。メールは正常に送信されますが、受信者は遅れてメールを終了します。それは2または3時間かかります。Javaメールの遅延が発生する
同じsmtp設定のPHPメーラーを使用している場合、遅延はありません。メールは完全に機能しています。
誰もがこの問題に直面している理由は何ですか?
Javamailはメッセージを格納したり転送したりしません。したがって、Transport.sendMessage()を呼び出してエラーを受け取らずにメールサーバーにメールを正常に送信した場合は、それはメールサーバー上に納品待ちです。 smtpサーバー、ユーザー名、およびパスワードとして設定した内容を確認する必要があります。これらはTransport.connect(サーバー、ユーザー名、パスワード)に送信するものです。それらがPHPで使用しているものと同じであることを確認してください。あなたがPHPでそれらを設定していない場合、私はあなたが同じ設定を使用していないと、なぜ1つのサーバーが他のサーバーよりも時間がかかります。
Transport.connect()、Transport.sendMessage()、Transport.close()の呼び出しにいくつかのタイミングステートメントを記述します。そのセクションをどのくらいの間それを作るかを見てください。本当に短い時間がかかる場合は、エラーがメールサーバー側に存在することがわかります。そして、あなたが話していると思っているサーバーとは話していないと思います。
プロファイラーを使用して何が起こっているのか試しましたか? –
PHPのメール($ address '、$ subject、$ msg)の使い方をどう比較していますか? javax.mail。*パッケージの使用に? PHPのコンテナはメールゲートウェイオプションを設定しています。javax.mailを使用する場合は、ゲートウェイオプションを設定します。明らかにする。 – Java42