2

会社の電子メール サーバーを使用して電子メールを送信するように Dspace をセットアップしました。DSpace はこれを行うために javax.mail を使用します。

会社のネットワーク外に送信しようとすると、電子メールは正常に送信されますが、会社のネットワークでは電子メールが送信されません。

表示されたエラー メッセージに従います。

エラー: javax.mail.MessagingException: 例外読み取り応答。
ネストされた例外は次のとおりです: javax.net.ssl.SSLException: 認識できない SSL メッセージ、プレーンテキスト接続?

(1) 途中でプロキシがない
(2) gmail を使用して送信しようとしたが、同じシナリオが発生した
(3) 見つかった唯一の関連スレッドはプロキシ設定で解決されましたが、(1) そのためは解決策ではありません (会社のネットワークでは Java メールは機能しません)
(4) 使用されているドア (587) は Thunderbird で構成されたものと同じで、私の会社のネットワークの内外でうまく機能します。

なんてミステリー!!! OO

誰かが助けることができれば、それは素晴らしいことです!

どうもありがとう!

4

1 に答える 1

0

私を導く別のスレッドで答えを見つけました:

Javamail の非 ssl プロパティは次のとおりです。

Properties props = new Properties();
props.put("mail.smtp.user", "email@mydomain.com");
props.put("mail.smtp.password", "password");
props.put("mail.smtp.protocol", "smtp");
props.put("mail.smtp.host", "smtp.mydomain.com");
props.put("mail.smtp.port", "25");
props.put("mail.smtp.starttls.enable","false");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.socketFactory.port", "25");
props.put("mail.smtp.socketFactory.class", "");
props.put("mail.smtp.socketFactory.fallback", "false");

DSpace start send email に変更した唯一のプロパティは、mail.smtp.socketFactory.class="" でした。以前は "javax.net.ssl.SSLSocketFactory" でした。

残念ながら、以前の設定が会社のネットワークの外で機能していた理由をまだ理解していません。おそらく、いくつかのルールが SSL 接続をブロックしている可能性があります。

@SergeBallesta: 助けてくれてありがとう!

于 2014-12-04T17:50:32.810 に答える