Grails邮件Exchange服务器配置

时间:2015-05-21 10:01:26

标签: email grails smtp

我尝试使用Exchange服务器配置邮件。

这是我的配置

grails {
    mail {
        host = "mail.xxx.xx.xx"
        port = 443
        username = "username"
        password = "password"
        props = [   "mail.smtp.auth":"true",
                    "mail.smtp.port":"443",
                    "mail.smtp.ssl.enable" :"true"
                 ]
    }
}

我收到以下错误

Message: org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.MessagingException: Exception reading response;
  nested exception is:
    java.net.SocketException: Connection reset. Failed messages: javax.mail.MessagingException: Exception reading response;

我知道我必须更改道具的问题,因为此配置适用于我的邮件应用。 我知道端口是正确的,它使用SSL。

我也试过使用这些道具

    props = ["mail.smtp.timeout"               : "100000",
             "mail.smtp.starttls.enable"       : "true",
             "mail.smtp.EnableSSL.enable"      : "true",
             "mail.transport.protocol"         : "smtps",
             "mail.smtp.socketFactory.port"    : "443",
             "mail.smtp.auth"                  : "true",
             "mail.smtp.socketFactory.class"   : "javax.net.ssl.SSLSocketFactory",
             "mail.smtp.socketFactory.fallback": "false",
             "mail.debug"                      : "true"]

调试结果如下:

DEBUG: JavaMail version 1.5.1
DEBUG: successfully loaded resource: /META-INF/javamail.default.providers
DEBUG: Tables of loaded providers
DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Oracle], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Oracle], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Oracle], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Oracle], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Oracle]}
DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Oracle], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Oracle], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Oracle], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Oracle], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Oracle], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle]}
DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Oracle]
DEBUG SMTP: useEhlo true, useAuth false
DEBUG SMTP: trying to connect to host "xxx.xxx.xx.xx", port 443, isSSL true

2 个答案:

答案 0 :(得分:0)

它在我看来是一个证书问题。如果您有权访问不使用SSL的服务器,我会先测试,否则您应该:

答案 1 :(得分:0)

我有一段时间没有同样的问题。如果您尝试访问网络(组织)中的Exchange服务器,我相信端口号是此处的问题。它可能已被网络管理员更改。

请与网络管理员联系并向他解释您尝试访问Exchange Server并要求输入用户名,密码和相关端口号。如果应用程序在内部运行,即

,则身份验证可以是可选的

tableView

我希望这会有所帮助。