【发布时间】:2016-03-16 22:30:52
【问题描述】:
我正在尝试在 SQL Server 中发送邮件。我有一个使用脚本任务发送邮件的 SSIS 包。
当我在 Visual Studio 中运行该包时,邮件会发送。 当我让 SQL Server 运行包时,包“成功”但没有邮件发送。 当我使用发送邮件任务和 SMTP 连接管理器进行设置时,邮件会在 SQL Server 中发送。
我认为因为使用 SMTP 连接管理器允许邮件发送,所以在代码中模仿这些凭据也会使电子邮件发送。 连接管理器具有以下设置: SMTP 服务器:MAIL.XXXXX.COM 使用 Windows 身份验证:否 启用 SSL:否
当我在脚本中创建 SMTP 客户端时,我使用
mySmtpClient = new SmtpClient("MAIL.XXXXX.COM");
mySmtpClient.EnableSsl = false;
mySmtpClient.Send(htmlMessage);
如果使用连接管理器时,为什么电子邮件不通过代码发送?
【问题讨论】:
-
SSIS 日志或 SQL Server 的事件日志中是否有错误?如果可能的话,我会编写一个小的 .net 控制台应用程序来尝试从 SQL 服务器发送邮件,看看你是否收到了错误。上次我遇到这样的问题时,SMTP 服务器被配置为只允许来自某些客户端的邮件。
-
与您的 Exchange 管理员交谈。询问他们是否在日志中看到任何内容。正如 Lobsterpants 所指出的,可能存在 Exchange 级别的规则阻止电子邮件的传递。
标签: sql sql-server ssis smtp