いつも私はsmtpホストに接続しようとしていますが、私のローカル交換サーバーのポート25で応答-1で失敗しましたが、Gmailのsmtpホストに接続してgmailから電子メールを送信できます。javamail APIを使用してsmtp接続が失敗していますか?
Properties props = System.getProperties();
props.put("mail.smtp.host", "localexchange.server.address");
props.put("mail.from", "emailid");
Session session = Session.getInstance(props, null);
try {
MimeMessage msg = new MimeMessage(session);
msg.setFrom();
msg.setRecipients(Message.RecipientType.TO,
"emailid");
msg.setSubject("JavaMail hello world example");
msg.setSentDate(new Date());
msg.setText("Hello, world!\n");
Transport.send(msg);
} catch (MessagingException mex) {
System.out.println("send failed, exception: " + mex);
}
はい、私はメールが私の交換サーバーにルーティングされていないと思うけど、私は交換サーバーにテルネットをうまくやり遂げることができます。私のプログラムはTTL(time to live)私のメールのために。 – RamIndani
私が接続しているLANが別のネットワークにあり、交換が異なるネットワークにあることが判明しました。同じネットワーク上で両方のネットワークが接続されています(私の見通しは同じ交換で完璧です) – RamIndani
JavaMailアプリケーションが動作していて、telnetは接続しますが、JavaMailは接続しません。何が起こっているのか分かりません。特定のアプリケーションだけが特定のリモートマシンに接続することを許可するファイアウォールがマシン上にある可能性はありますか?また、Outlookと比較する場合、OutlookはJavaMailが使用するインターネット標準プロトコルではなく、Microsoft独自のプロトコルを使用することが多いことに注意してください。 Exchangeサーバーがこれらのインターネット標準プロトコルをサポートするように設定されていることを確認してください。 –