我正在尝试从微软交换服务器发送电子邮件,我似乎无法使其正常工作。
这是我的代码:
private static void sendEmail(){
host = "mail.tzr-019.co.il";
Properties props = System.getProperties();
props.setProperty("mail.smtps.host", host);
props.setProperty("mail.smtp.port", "25");
props.setProperty("mail.smtps.auth", "true");
Session session = Session.getDefaultInstance(props);
try{
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress,user));
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(TO));
message.setSubject("This is the Subject Line!");
message.setText("This is actual message");
Transport.send(message);
System.out.println("Sent message successfully....");
}catch (Exception mex) {
mex.printStackTrace();
}
}
我收到错误消息:
com.sun.mail.util.MailConnectException: Couldn't connect to host, port: localhost, 25; timeout -1;
nested exception is:
java.net.ConnectException: Connection refused: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1961)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:654)
at javax.mail.Service.connect(Service.java:345)
at javax.mail.Service.connect(Service.java:226)
at javax.mail.Service.connect(Service.java:175)
at javax.mail.Transport.send0(Transport.java:253)
at javax.mail.Transport.send(Transport.java:124)
有什么想法吗?
答案 0 :(得分:0)
当我看到您正在尝试连接到localhost时,我将假设这是正确的,并且您是Exchange Server管理员并指出其他可能性。
Microsoft Exchange Server默认使用名为Exchange Active Sync的专有协议。这是公司帐户最常见的设置,(例如,在我的情况下)可能不允许其他选项。每个帐户在使用其他协议时可能具有不同的权限,例如POP3或IMAP4以及发送对应方 - SMTP。
确保通过您的帐户尝试发送的邮件正在支持POP3 / IMAP4同步。
请参阅:http://help.outlook.com/en-us/140/cc875899(d=loband).aspx