изменение адреса отправителя при отправке почты через gmail в c#

я использовал следующий код для отправки почты с моего веб-приложения с помощью учетной записи Gmail. Мой вопрос в том, Могу ли я изменить адрес отправителя на другой адрес, отличный от исходного адреса отправителя(gmail)? Мой код выглядит следующим образом:

System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
System.Net.NetworkCredential cred = new System.Net.NetworkCredential("sample@gmail.com", "*******");

все, что я делаю, бесполезно, так как я всегда получаю почту от sample@gmail.com. Можно ли это изменить?

я перешел на mail.From = new System.Net.Mail.MailAddress("sample@yahoo.com"); но я получил письмо с адреса sample@gmail.com и не с нового адреса. Я думаю, что gmail smtp перезаписывает адрес from с исходными учетными данными.

5 ответов


Gmail не позволяет вам изменить FROM на что-то другое, чем ваша учетная запись gmail.

не имеет значения, что вы используете, они переписывают его, прежде чем они передают его. Это предотвращает спам / спуфинг.


Это решение:

  1. используйте коды выше, чтобы установить почту.From = new MailAddress (адрес, отображаемое имя)
  2. в Gmail перейдите в Настройки Почты > > учетные записи и импорт.
  3. Добавить учетную запись электронной почты, которую вы будете использовать в качестве отправителя в "отправить почту как". (отметьте как псевдоним)

Это работает для меня


да просто использовать С свойства MailMessage

например.

mail.From = "newemail@email.com";

редактировать: кроме того, см. этот пост для получения более подробной информации о том, как электронные письма через gmail в C#

отправка писем .Чистый через Gmail

EDIT: хотя это работает для почты в целом, похоже, что это не будет работать для gmail, поскольку google перезаписывает его перед отправкой (см. @Dave wanta ответ)


если у вас ограниченное количество отправителей, вы можете сделать так, как предложил @philip. Например, у вас может быть customerservice@example.com, simon@example.com и philip@example.com или даже alias@example.com. Пока они одобрены отправителями на фактическом gmail.com веб-сайт вы можете отправить от них.

Gmail.com : отправка почты с другого адреса

если вы ожидаете отправить от произвольного пользователя (например, форму обслуживания клиентов на веб-сайте, где пользователь вводит свою электронную почту, а вы нет хотите, чтобы они отправляли вам по электронной почте напрямую) о лучшем, что вы можете сделать, это:

        msg.ReplyToList.Add(new System.Net.Mail.MailAddress(email, friendlyName));

если вы находитесь в контролируемой среде, это отлично работает, но обратите внимание, что я видел, как некоторые почтовые клиенты отправляются на адрес from, даже если указан ответ (я не знаю, какой).


Проверьте #56 и #58. Они могут иметь отношение к тому, что вы хотите сделать https://code.google.com/p/google-apps-script-issues/issues/detail?id=172