изменение адреса отправителя при отправке почты через 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.
не имеет значения, что вы используете, они переписывают его, прежде чем они передают его. Это предотвращает спам / спуфинг.
Это решение:
- используйте коды выше, чтобы установить почту.From = new MailAddress (адрес, отображаемое имя)
- в Gmail перейдите в Настройки Почты > > учетные записи и импорт.
- Добавить учетную запись электронной почты, которую вы будете использовать в качестве отправителя в "отправить почту как". (отметьте как псевдоним)
Это работает для меня
да просто использовать С свойства 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