От адреса показывает адрес электронной почты пользователя NetworkCredential - PullRequest
0 голосов
/ 10 января 2012

Я сделал веб-приложение для отправки электронной почты.Это работает нормально.

Проблема на стороне получателя - получатель показывает NetworkCredential Email пользователя как From Email.А электронная почта, указанная как От электронной почты, не существует.

Я хочу показать получателю электронную почту, а не электронную почту пользователя сети.

пример кода-

using System.Net.Mail;


MailMessage oMsg = new MailMessage();
oMsg.From = new MailAddress("sender@somewhere.com","Diplay Name");
oMsg.To.Add(new MailAddress("recipient@somewhere.com")); 
oMsg.Subject = "Send Using Web Mail";
oMsg.Body ="Hi..";
System.Net.Mail.SmtpClient s = new System.Net.Mail.SmtpClient("host", port_no);
System.Net.NetworkCredential nc = new System.Net.NetworkCredential("user", "password");
s.EnableSsl = true;
s.UseDefaultCredentials = false;
s.Credentials = nc;
s.Send(oMsg);

Получатель получает по электронной почте сообщение «user», но я хочу показать «sender@somewhere.com».

Ответы [ 3 ]

0 голосов
/ 10 января 2012

MailAddress имеет перегрузку, которая позволяет вам передавать отображаемое имя для данного почтового адреса, например, new MailAddress("sender@somewhere.com", "Display Name");

0 голосов
/ 10 января 2012

Некоторые почтовые службы (например, Google) переопределяют значение .FROM и всегда будут использовать значение ENVELOPE, которое является именем пользователя NetworkCredential.

У меня такое чувство, что вы видите.

0 голосов
/ 10 января 2012

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

Обновление oMsg.From = new MailAddress ("sender@somewhere.com"); быть oMsg.From = new MailAddress ("sender@somewhere.com", "sender@somewhere.com");

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...