【问题标题】:How to configure JavaMail for Microsoft Exchange?如何为 Microsoft Exchange 配置 JavaMail?
【发布时间】:2015-03-20 14:43:42
【问题描述】:

我正在尝试使用 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.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();
        }
    }
}

我做错了什么?

替换 域服务器 用异常和代码中的实际服务器名称。

【问题讨论】:

  • 您是否尝试过使用 smtps 并验证了端口?
  • 试试这些connection debugging tips。您的代码是否在安全管理器可能阻止您连接的应用服务器中运行?
  • 我认为问题出在以下一项或全部:1. 端口错误 2. 凭据格式不正确(不是他们在常见问题解答中建议的“dom\juuser\J.User”)。 3. 协议错误。我将不得不与设置 Exchange 服务器的人交谈以了解更多详细信息(他正在度假)。

标签: java jakarta-mail exchange-server-2010


【解决方案1】:

SMTP is not started by default 在 Exchange 服务器上,所以我推荐简单的 using exchange itself

【讨论】:

  • SMTP 是传输协议,IMAP 是存储协议。它们不可互换。
  • 是的,希望这很明显。尽管如此,您还是建议从 SMTP 切换到 IMAP,但这并不能解决问题。如果问题是 Exchange 服务器未配置为允许 SMTP 访问,则切换到 Microsoft 专有协议之一可能可以解决问题。
  • 也许您可以考虑更新您的原始答案以更好地解释您认为显而易见的内容?或不。您的选择。
  • 既然对我来说不是那么明显,谁能解释一下?
  • 解释一下,到底是什么?
猜你喜欢
  • 2013-12-02
  • 1970-01-01
  • 1970-01-01
  • 2017-12-09
  • 1970-01-01
  • 2011-05-28
  • 2011-06-11
  • 2017-05-22
  • 1970-01-01
相关资源
最近更新 更多