SSIS从域外发送电子邮件

时间:2017-01-12 09:18:53

标签: sql-server visual-studio ssis smtp exchange-server

我有一个部署到服务器的SSIS包,该服务器不在域上,但它位于我们的网络边界内。我希望能够发送有关包裹失败的电子邮件,但是在域外提出了我以前没有遇到的挑战。

企业不接受使用虚拟Gmail帐户。

我想使用公司的SMTP服务器(mail.somecompany.com),但我不知道如何在域外执行此操作。有人可以告诉我这是否可行以及我需要采取哪些步骤。

有用的信息:

SQL Server 2016

项目部署模式

Visual Studio 2015

非常感谢提前。

1 个答案:

答案 0 :(得分:0)

您可以使用脚本任务发送邮件。

这可能会对您有所帮助:

  MailMessage Mymsg = new MailMessage();
        SmtpClient smptserver = new SmtpClient();

System.Net.Mail.Attachment attach;
        Mymsg.From = new MailAddress("aa@abc.com");

       String Tolist = Convert.ToString("a@aa.com");
        String CClist = Convert.ToString("a@xse.com");
        String BCClist = Convert.ToString("ba@aas.com");

        if (!String.IsNullOrEmpty(Tolist))
            Mymsg.To.Add(Tolist);
        if (!String.IsNullOrEmpty(CClist))
            Mymsg.CC.Add(CClist);
        if (!String.IsNullOrEmpty(BCClist))
            Mymsg.Bcc.Add(BCClist);

        Mymsg.Subject = "Subject!";
        Mymsg.Body = "Hi, Your message!";

        Mymsg.IsBodyHtml = true;



        try
        {
            smptserver.Send(Mymsg);
            Console.WriteLine("OK");
        }
        catch (System.Net.Mail.SmtpException ex)
        {
            Console.WriteLine(ex.StatusCode.ToString());
        }

        Dts.TaskResult = (int)ScriptResults.Success;
        smptserver = null;
        Mymsg = null;