我可以使用我的grails应用程序中的gmail帐户发送电子邮件,但是当我使用MS Exchange服务器帐户时,我收到此错误
Message: Mail server connection failed; nested exception is com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.exg6.exghost.com/, 25; timeout -1;
我使用的配置是:
mail {
host = "smtp.exg6.exghost.com"
port = 25
username = "xxxx"
password = "xxxx"
props = ["mail.smtp.auth":"true",
"mail.smtp.socketFactory.port":"25",
"mail.smtp.socketFactory.class":"javax.net.ssl.SSLSocketFactory",
"mail.smtp.socketFactory.fallback":"false"]
我不确定要使用哪种配置。我尝试将端口更改为465& 993但这也没有奏效。请帮忙
答案 0 :(得分:0)
您的设置存在一些问题。首先,您要向Microsoft Exchange服务器(可能是)提交邮件,而不是Outlook。 Outlook是一个邮件客户端,只通过连接到您尝试获取要连接的Mail插件的同一服务器来提供最终用户功能。
您的主机名必须是有效的Internet DNS主机名 - 因此它必须是“smtp.exg6.exghost.com”。根据SMTP服务器中的提交/中继策略,您可能需要执行此操作。很可能你需要继续阅读。
SMTP协议支持使用SSL或SASL进行邮件提交(新邮件注入)的身份验证和安全性。如果您使用的是SSL,则要连接的默认端口是465(SMTPS端口)。如果您使用的是SASL,则大多数服务器都配置为接受端口587上具有身份验证的新邮件(提交服务端口)。大多数SMTP服务器都不接受端口25上的邮件提交。
在您的情况下,您似乎尝试使用SSL进行连接,因此您可能希望使用SMTPS设置进行配置。要确保您具有正确的设置,请使用Thunderbird等邮件客户端尝试与服务器建立SMTP连接。它实际上有一个发现算法,它将尝试常见的设置并在找到它时报告成功。一旦知道连接参数是什么,就可以继续配置Mail插件。
答案 1 :(得分:0)
我终于有了这个工作。事实证明,Microsoft提供了一个单独的API / Web服务来发送电子邮件并执行所有其他与邮件相关的操作。此API允许开发人员以编程方式访问Exchange Online,Exchange Online作为Office 365的一部分,以及从Exchange Server 2007 Service Pack 1(SP1)开始的Exchange版本。点击here了解详情。
exg6.exghost.com是Exchange Server 2007的主机
我不确定,但我认为Exchange Server 2007及以后版本不会使用SMTP。