在MVCMailer中更改电子邮件DisplayName的正确方法

时间:2013-10-09 17:44:59

标签: c# asp.net-mvc email mvcmailer

我希望使用MVCMailer更改电子邮件中的显示名称。而不是客户看到From:custmerservice@xyzCompany.com,他们将看到“xyzCompany客户服务”。 我已经浏览了互联网,找不到任何解释方法的文档。

USERMAILER.CS

public virtual MvcMailMessage Welcome(string sentTo, string replyTo)
        {

            return Populate(x =>
            {
                x.Subject = "Welcome";
                x.ViewName = "Welcome"; //View name of email going out.
                x.ReplyToList.Clear();
                x.ReplyToList.Add(replyTo);
                x.To.Add(sentTo);
                x.From.DisplayName("xyz Company Customer Service"); 
                x.From = new MailAddress("customerservice@xyzCompany.com");
                x.ViewName = "WelcomeEmail"; //View name of email going out.
            });
         }

第'x.From.DisplayName(“xyz Company Customer Service”)'行给出了一个错误:system.net.mail.mailaddress.DisplayName不能用作方法。

有人可以告诉我如何正确更改显示名称吗?

1 个答案:

答案 0 :(得分:3)

DisplayNameMailAddress类的属性。您可以使用构造函数的this overload来指定它:

x.From = new MailAddress(address: "customerservice@xyzCompany.com", displayName: "xyz Company Customer Service");

根据评论进行更新:

DisplayName属性没有(或私有)setter,这意味着你只能通过MailAddress的构造函数设置它,而不能通过属性本身设置它。