C#使用Office 365 SMTP发送电子邮件不会更改给定的电子邮件显示名称

时间:2018-12-18 11:28:14

标签: c# outlook office365 sendmail mailaddress

我正在使用C#MailMessage通过Office 365发送电子邮件,并且我想更改电子邮件中发件人的显示名称。

我已经尝试过使用像这样的mailMessage MailAddress构造函数

mailMessage.From = new MailAddress("email","display name");

但不能解决问题

但是当我尝试使用Gmail时,显示名称已更改。

1 个答案:

答案 0 :(得分:0)

这是我们的通用SMTP电子邮件功能。它包含发件人的电子邮件地址和姓名。

 public static bool EmailReport(
               String Subject,
               String Body,
               String FromAddress,
               String FromName
               String[] To,
               String[] CC,
               out String sError)
        {
            MailMessage m = new MailMessage();
            SmtpClient smtp = new SmtpClient("<insert your email server name here i.e.: mail.Mycompany.com>");
            smtp.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
            m.Subject = Subject;
            m.Body = Body;
            m.From = new MailAddress(FromAddress, FromName);
            foreach (String sTo in To)
            {
                m.To.Add(sTo);
            }
            if (CC != null)
            {
                foreach (String sCC in CC)
                {
                    m.CC.Add(sCC);
                }
            }
            try
            {
                smtp.Send(m);
                sError = "";
                return true;
            }
            catch (Exception ex)
            {
                sError = ex.Message + "\r\n\r\n" + ex.StackTrace;
                return false;
            }
        }