来自SSIS脚本任务的电子邮件-显示发件人姓名而不是地址

时间:2018-08-21 12:05:23

标签: c# windows ssis

我为SSIS开发了一个脚本任务,该任务从Gmail帐户向某些用户发送电子邮件,其中包含每日销售号码。它可以按预期工作,但细节很少。

我希望收件箱中显示的电子邮件发件人是发件人姓名,而不是发送电子邮件的电子邮件地址。

想法是得到这样的东西: What I want

代替我现在得到的是: What I get right now

您可以提供任何建议来实现这一目标吗?我找不到任何属性来设置此“显示名称” ...

谢谢大家的光临!

这是我正在使用的代码的主要部分:

public void Main()
    {
        // TODO: Add your code here
        try
        {            

            MailMessage MyMessage = new MailMessage();

            MyMessage.From = new MailAddress(Dts.Variables["$Project::SMTP_FROM_EMAIL"].Value.ToString());
            MyMessage.To.Add(Dts.Variables["$Project::SMTP_TO_DAILY_SALES_EMAIL"].Value.ToString());
            MyMessage.Subject = (Dts.Variables["User::EmailDailySalesSubject"].Value.ToString());
            MyMessage.Body = (Dts.Variables["User::DailySalesEmailBody"].Value.ToString());
            MyMessage.Priority = MailPriority.Normal;
            MyMessage.IsBodyHtml = true;

            var client = new SmtpClient(Dts.Variables["$Project::SMTP_SERVER"].Value.ToString(), Int32.Parse(Dts.Variables["$Project::SMTP_PORT"].Value.ToString()))
            {
                Credentials = new NetworkCredential(Dts.Variables["$Project::SMTP_USERNAME"].Value.ToString(), Dts.Variables["$Project::SMTP_PASSWORD"].GetSensitiveValue().ToString()),
                EnableSsl = true
            };
            client.Send(MyMessage);
            Dts.TaskResult = (int)ScriptResults.Success;
        } ...

1 个答案:

答案 0 :(得分:0)

已解决。我终于意识到我所缺少的(.From属性的第二部分):

MyMessage.From = new MailAddress(Dts.Variables["$Project::SMTP_FROM_EMAIL"].Value.ToString(), "SENDER NAME");