SQL 数据库邮件不工作 - 但我可以使用 VBscript CDO 在同一服务器上发送电子邮件

SQL Database Mail Not Working - But I can send email on same server using VBscript CDO

我到处(感觉)寻找解决方案和/或指导。我最后的办法是问。我在 Windows 服务器上安装了 SQL Server 2016 运行。数据库邮件不工作。我已经设置了配置文件,并通过右键单击左侧 SSMS 中的数据库邮件节点提交了一封测试电子邮件 window。

当我使用 SELECT * FROM msdb.dbo.sysmail_allitems;

查询 SQL 时,电子邮件处于 'unsent' 状态

我创建了一个 VBscript 文件来使用 CDO 发送电子邮件 - 使用相同的电子邮件服务器值(主机名、端口、电子邮件发件人、用户名、密码等)。 CDO 脚本成功发送邮件。

我不确定去哪里进行故障排除 SQL。

没有数据写入SELECT * FROM msdb.dbo.sysmail_event_log;

诚然,我对 SQL 配置不是很好 - 我只需要设置它。我正在尝试确定为什么状态只停留在 'unsent'。我可以采取行动强制发送吗?有没有什么消息或日志我可以查看以了解为什么它没有前进?

编辑:我已将相同的凭据放入 sql 报告服务配置 'email settings' - 我能够创建订阅并成功发送电子邮件。这让我感到困惑,因为我看到 SSRS 订阅需要访问 SQL 代理并创建计划作业。

那么我在 SQL 中的数据库邮件帐户与我在 SSRS 中创建的帐户有何不同? (我知道我不是在发布图片,但那些向导有个人信息,所以我不知道为我无法共享的数据值发布屏幕截图的价值)。

感谢任何帮助。 谢谢

此问题已解决。谢谢@AlwaysLearning。我必须通过安装 .Net Framework 3.5 来更新服务器。然后 - 按照您的指导,我最终发现我的问题出在 SSL 复选框和端口 465 上。我能够使用没有 SSL 的端口 25 发送电子邮件,也可以在端口 587 上发送 TLS。但是 SSL 和端口 465 仍然导致问题。

然而,对我来说,这不是我主要关心的问题。该问题已传递给链中的其他人来解决。我可以使用数据库邮件。