SSIS电子邮件脚本问题。不发送邮件任务

时间:2013-07-22 17:52:20

标签: sql sql-server-2008 ssis

我有一个电子邮件脚本,用于在SSIS内发送电子邮件。不使用电子邮件任务,因为我无法从邮件任务ping服务器,并且从电子邮件脚本更容易。此外,脚本在很多方面都要好得多。

此电子邮件脚本很简单,检查服务器是否存在,验证电子邮件,然后发送电子邮件。

问题:在电子邮件脚本的“发件人”行中,我正在使用我的电子邮件地址,当我将我的包上传到Integration Services服务器并运行它时,电子邮件任务发送邮件成功。但是,当其他人在服务器上运行我的包时,电子邮件任务会成功,但不会发送电子邮件。没有异常被抛出,也没有任何失败。当我将“发件人”电子邮件地址切换到他们的电子邮件地址时,他们运行包:它发送邮件。当我尝试使用他们的电子邮件地址在起始行中运行时,它无法发送电子邮件。

我们用这个:

mySmtpClient.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials; 

为crendentials。

所以,我的问题是:这有解决方法吗?你认为这是一个Windows身份验证问题吗?如果有解决方法,请您指导一个或提供一个? 谢谢。

2 个答案:

答案 0 :(得分:0)

  

您好银行出纳员,我是鲍勃的朋友,他说我可以使用他的账户。诚实。我可能会拿钱出去,但我会把它还掉。

这实际上是您的邮件系统和SSIS包之间发生的对话。邮件系统不相信Alice有权代表Bob发送电子邮件。为什么它默默地吞下错误取决于你的代码。也许有一种状态,你没有检查电子邮件未发送的信号。如果您希望有一些眼睛对其进行审核,请使用您的实际代码更新您的问题。

解决方案有两种选择。第一个,也可能是最不合适的是让From帐户授权每个可能的用户。愚蠢,可怕,可能违反了人类已知的每一种做法,但它不需要改变代码。

“正确”的方法是使From系列与Credentials一致。你有一些逻辑来获取帐户并将其分配给From行。

答案 1 :(得分:0)

找出问题所在。就像billinkc提到的那样,"对"做法。我们有一个硬编码的" From"这是失败的原因。我们的包由运行特定包的SQL作业运行。该程序包具有由于身份验证不匹配而导致Windows身份验证问题的电子邮件脚本。运行SQL作业的人与From line电子邮件用户之间的不匹配。因此,他们从未匹配。我们在scritp中添加了一行,让用户运行作业并使其成为From行用户。因此,解决了:)

相关问题