Как изменить адрес электронной почты ОТ поля адреса?

Я пытался изменить поле ОТ с именем и адресом электронной почты. Но когда я получаю электронное письмо, оно показывается как показано ниже

My network <commity@company.com [My network <commity@company.com]

Мой код, как показано ниже

    const string from = "My network <commity@company.com>";

    StringDictionary headers = new StringDictionary();
       headers.Add("to", invitee.userEmail);
       headers.Add("subject", ltEmailSubject.Text);
       headers.Add("from", from);
       headers.Add("content-type", MediaTypeNames.Text.Html);

       _emailSuccessful = SPUtility.SendEmail(elevatedSite.RootWeb, headers,
                          emailBody + Environment.NewLine + "");

Я хочу, чтобы адрес электронной почты отображался как показано ниже

My network [commity@company.com]

3 ответа

Решение

SPUtility.SendMail всегда будет использовать адрес from smtp, как указано в разделе "Центр администрирования"> "Настройки исходящей электронной почты", и понятное имя будет указано в заголовке сайта.

Вместо этого вы можете использовать (с http://www.systemnetmail.com/faq/3.2.1.aspx)

MailMessage mail = new MailMessage();

//set the addresses
//to specify a friendly 'from' name, we use a different ctor
mail.From = new MailAddress("me@mycompany.com", "Steve James" );
mail.To.Add("you@yourcompany.com");

//set the content
mail.Subject = "This is an email";
mail.Body = "this is the body content of the email.";

//send the message
SmtpClient smtp = new SmtpClient("127.0.0.1");
smtp.Send(mail);

Я знаю, что эта ветка старая, но если бы кто-то сталкивался с этим, как я, ваш оригинальный код работал бы нормально, используя SPUtility.SendMail, если бы вы добавляли кавычки вокруг понятного имени в адресе from, например так:

const string from = "\"My network\" <commity@company.com>";

Я считаю, что если вы посмотрите на почтовый объект в.Net Framework, вы можете сделать то, что вы хотите.

Может быть, этот сайт может помочь вам в дальнейшем?

Другие вопросы по тегам