我将数据库邮件配置文件配置为gmail-smtp服务器、SSL和端口465。我并没有重新启动服务器。这是第一次在该服务器上使用数据库邮件功能。
当我发送测试邮件时,它会给我以下错误消息:
由于邮件服务器故障,无法将邮件发送给收件人。(操作超时)
我用Thunderbird尝试了这个邮件配置,我可以通过这个SMTP发送邮件。SQL Server为什么给出这个eror消息?我在这里搜索了一下,但没有找到任何解决方案。
首先,查看SQL Server数据库邮件日志(管理->SQL Server日志->当前,检查数据库邮件)。它包含更详细的错误解释消息。
然而,最常见的原因是SQL Server所在的Windows Server的安全配置。查看邮件协议和端口上的防火墙配置。要检查是否一切正常,请在配置数据库邮件配置文件的服务器上运行Thunderbird。
我在这里遇到了同样的问题。在我的情况下,我试图使用SMTPS配置(用于出站连接的端口465)从SQL Server实例发送电子邮件,但它不起作用。如果我尝试任何邮件客户端都能完美工作。
我注意到,尝试通过TELNET与端口465连接是不可能的(我想我需要openssl)
出于某种原因,我的托管提供商仍然允许我使用端口26进行连接,但如果我尝试通过telnet发送电子邮件,它会告诉我我的动态IP已被列入黑名单(这解释了为什么数据库邮件在端口26上失败)。即使IP地址被列入黑名单,也允许通过经过身份验证的smpt进行连接。这意味着我的主机提供商无法使用数据库邮件接受与端口465的连接,或者我的sql server安装有问题。