使用发送邮件任务时,SSIS包显示错误

时间:2014-08-29 09:23:49

标签: sql ssis

我有一个使用SEND MAIL任务的任务包,但它执行正常,直到它接近发送邮件任务并显示错误。这是[发送邮件任务]错误:出现以下错误消息时出错:“语法错误,命令无法识别。服务器响应为:5.0.0您的电子邮件系统必须在发送邮件之前进行身份验证

1 个答案:

答案 0 :(得分:1)

您尝试使用的邮件服务器在接收邮件之前需要进行身份验证。

SSIS的SMTP连接管理器仅限于支持Windows身份验证。如果您使用网络内部的基于Windows的邮件服务器(例如,Microsoft Exchange Server),则此身份验证形式可能有效。但是,听起来您的服务器需要使用用户名和密码进行身份验证。 SSIS并不支持开箱即用。

可能适用于您的情况的选项:

  • 要求您的邮件服务器运营商将您的SSIS服务器的IP地址列入白名单,以便邮件服务器在从该IP收到邮件时不需要身份验证。 此选项允许您使用SSIS的内置发送邮件任务。
  • 在SSIS服务器上设置SMTP中继服务器。将中继配置为仅接受本地连接(阻止其他计算机通过您的系统发送垃圾邮件)并将所有邮件转发到您要使用的外部SMTP服务器。 (当然,中继需要支持使用远程SMTP服务器进行身份验证。)此选项还允许您继续使用SSIS的内置发送邮件任务。
  • 正如@Justin提到的,创建一个执行发送的脚本任务。您可以使用。SmtpClientsupports username/password authentication来发送消息。
  • 使用第三方SSIS组件。我没有尝试过,所以我无法提出建议,但是搜索了ssis smtp组件"出现了选项。
  • 如果您有权访问Microsoft SQL Server,则使用调用sp_send_dbmail的执行SQL任务可能会有效。 SQL Server的数据库邮件 supports基本身份验证和SSL。