每当我试图连接到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