cambiar la dirección del remitente al enviar correo a través de gmail en c #

He utilizado el siguiente código para enviar correos desde mi aplicación web usando una cuenta de gmail. Mi pregunta es, ¿puedo cambiar la dirección del remitente a otra dirección que no sea la dirección original del remitente (gmail)? Mi código es el siguiente:

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

Todo lo que hago es inútil ya que siempre recibo correo de sample@gmail.com . Es posible cambiarlo?

He cambiado a mail.From = new System.Net.Mail.MailAddress("sample@yahoo.com"); pero recibí el correo con la dirección from sample@gmail.com y no desde la nueva dirección “De”. Creo que gmail smtp sobrescribe la dirección de origen con la credencial original.

Gmail no le permite cambiar el FROM a algo diferente a su cuenta de Gmail.

No importa lo que uses, lo sobrescriben antes de transmitirlo. Esto previene el spamming / spoofing.

Esta es la solución:

  1. use los códigos de arriba para establecer mail.From = new MailAddress (dirección, nombre para mostrar)
  2. en Gmail, vaya a Configuración de correo >> Cuentas e Importar.
  3. Agregue la cuenta de correo electrónico que usará como remitente en “Enviar correo como”. (marque como Alias)

Esto funciona para mí

Sí, solo use la propiedad From del MailMessage

p.ej.

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

EDITAR : También, consulte esta publicación para obtener información más detallada sobre cómo enviar correos electrónicos a través de Gmail en C #

Envío de correo electrónico en .NET a través de Gmail

EDITAR: aunque esto funciona para el correo en general, parece que esto no funcionará para gmail, ya que google lo sobrescribe antes de su envío (ver la respuesta de @Dave wanta)

Si tiene un número limitado de remitentes, puede hacer lo que se sugirió @philip. Por ejemplo, puede tener customerservice@example.com , simon@example.com y philip@example.com o incluso alias@example.com . Siempre que sean remitentes aprobados en el sitio web real de gmail.com , puede enviarlos desde ellos.

Gmail.com: envío de correo desde una dirección diferente

Si espera enviar desde un usuario arbitrario (como un formulario de servicio al cliente en un sitio web donde el usuario ingresa su correo electrónico y no desea que le envíen un correo electrónico directamente) lo mejor que puede hacer es esto:

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

Si estás en un entorno controlado, esto funciona muy bien, pero ten en cuenta que he visto algunos clientes de correo electrónico enviar a la dirección desde, incluso cuando se especifica la respuesta (no sé cuál).

Verifica # 56 y # 58. Pueden ser relevantes para lo que quiere hacer https://code.google.com/p/google-apps-script-issues/issues/detail?id=172