每當我試圖連接到smtp主機它顯示連接失敗,我的本地交換服務器上的端口25上的響應-1,但我能夠連接到gmail smtp主機從gmail發送電子郵件我使用下面的代碼。smtp連接使用javamail api失敗?
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);
}
是的,我試過它們,我認爲郵件沒有被路由到我的交換服務器,但我能夠telnet到我的交換服務器成功,有沒有什麼辦法可以告訴我的程序像TTL(生存時間)爲我的郵件。 – RamIndani 2012-04-25 06:21:26
我發現我連接的局域網是在不同的網絡中,交換機在不同的網絡中,兩個網絡都通過交換機連接(我的outlook工作在完全相同的交換機上) – RamIndani 2012-04-25 10:39:21
如果你在同一臺機器上運行telnet,應用程序正在運行,並且telnet連接,但JavaMail不,我不知道發生了什麼。可能您的計算機上有防火牆,只允許某些應用程序連接到某些遠程計算機?如果您要與Outlook進行比較,請注意,Outlook通常使用Microsoft專有協議,而不是JavaMail使用的Internet標準協議。確保您的Exchange服務器設置爲支持這些互聯網標準協議。 – 2012-04-25 21:21:19