2013-10-25 5 views
1

У меня есть MailMessage, что я посылаю со следующим:От/Отправитель в MailMessage не работает?

email.To.Add(new MailAddress(receiver.Email, receiver.Username)); 
email.From = new MailAddress(sender.Email, "app (on behalf of " + sender.Username + ")"); 
email.Sender = new MailAddress("[email protected]", "App"); 

Идея заключается в том, что электронная почта будет отправлена ​​получателю с адресом электронной почты отправителя в FROM заголовка, так что приемник может попасть «Ответить» в своем почтовом клиенте и отправьте по электронной почте отправителя напрямую.

В настоящее время, когда я получаю электронное письмо в качестве получателя, я нахожу ответ и получаю [email protected], в то время как текст FROM говорит (от имени), как и должно быть.

Неправильно ли это установить сообщение?

В случае, если это имеет значение, мой SmtpClient:

var client = new SmtpClient("smtp.gmail.com", 587) 
     { 
      Credentials = new NetworkCredential("[email protected]", "Password"), 
      EnableSsl = true 
     }; 
+0

Вы получаете исключение? – Garrett

+0

nope, это просто не позволяет мне ответить - отправителю – SB2055

+0

Вы пробовали другие почтовые клиенты? Или, глядя на полученные заголовки электронной почты? Интересно, не мешает ли Gmail делать это как меру защиты от спама/подмены: http://stackoverflow.com/a/2668788/945456 –

ответ

1

Вы делаете это правильно. Но gmail won't let you.

Цитирую ответ, связанный с ....

Google переписывает С и Reply-To заголовков в сообщениях, отправляемых через это SMTP сервис для ценностей, которые относятся к вашей учетной записи.

Функция SMTP gmail не предназначена для открытого или реле . Если бы он допустил любые значения для заголовка From, он бы значительно разбавил репутацию Google со спам-услугами, так как не сможет проверить учетные данные отправителя.

+0

Спасибо, Джефф, высоко оценил – SB2055