如何为Microsoft Exchange配置JavaMail?
我正在尝试使用JavaMail 1.5.1连接到Microsoft Exchange(2010)邮件帐户。当我尝试连接时,出现以下异常如何为Microsoft Exchange配置JavaMail?,java,jakarta-mail,exchange-server-2010,Java,Jakarta Mail,Exchange Server 2010,我正在尝试使用JavaMail 1.5.1连接到Microsoft Exchange(2010)邮件帐户。当我尝试连接时,出现以下异常 Exception in thread "main" com.sun.mail.util.MailConnectException: Couldn't connect to host, port: domain server, 25; timeout -1; nested exception is: java.net.Sock
Exception in thread "main" com.sun.mail.util.MailConnectException:
Couldn't connect to host, port: domain server, 25; timeout -1;
nested exception is:
java.net.SocketException: Permission denied: connect
这是我正在使用的代码
public class SendMail
{
public void mail () throws MessagingException
{
Properties props = System.getProperties();
String protocol = "smtp";
// Setup mail server
props.put("mail." + protocol + ".host", "domain server");
props.put("mail." + protocol + ".auth", "true");
props.put("mail." + protocol + ".port", "25");
Session session = Session.getInstance(props);
Transport t = session.getTransport(protocol);
try{
t.connect("domain\\user name", "password");
}
finally{
t.close();
}
}
}
我做错了什么
将域服务器替换为异常和代码中的实际服务器名。在exchange服务器上,因此我只建议您尝试使用smtps并验证端口了吗。您的代码是否在应用程序服务器上运行,而安全管理器可能会阻止您连接?我认为问题在于以下一个或全部:1。错误的端口2。凭证格式不正确(不是常见问题解答中建议的“dom\juser\J.User”)。3.协议是错误的。我必须与设置Exchange服务器的管理员联系以了解更多详细信息(他正在度假)。SMTP是一种传输协议,IMAP是一种存储协议。它们不能互换。是的,希望这是显而易见的。尽管如此,您还是建议从SMTP切换到IMAP,这并不能解决问题。切换到一个微软专有协议可能会解决这个问题,如果问题是Exchange服务器没有被配置为允许SMTP访问。也许您可以考虑更新您的原始答案,以更好地解释您认为什么是显而易见的?或者不是。你的选择。既然这对我来说不那么明显,有人能解释一下吗?确切地说,解释一下什么?