net mail form example enviar correo c# .net smtp

c# - form - ¿Cómo se puede configurar el sobre de SMTP MAIL FROM usando System.Net.Mail?



smtpclient c# gmail (4)

Cuando envía un correo electrónico utilizando C # y el espacio de nombres System.Net.Mail, puede establecer las propiedades "Desde" y "Remitente" en el objeto MailMessage, pero ninguno de estos le permite hacer que el CORREO DE y la dirección de remitente que va en la sección de DATOS diferente entre sí. MAIL FROM se establece en el valor de la propiedad "De", y si configura "Sender", solo agrega otro campo de encabezado en la sección DATA. Esto da como resultado "De [email protected] en nombre de [email protected]", que no es lo que desea. ¿Me estoy perdiendo de algo?

El caso de uso es controlar el destino NDR para boletines, etc., que se envían en nombre de otra persona.

Actualmente estoy usando aspNetEmail en lugar de System.Net.Mail, ya que me permite hacer esto correctamente (como la mayoría de las otras bibliotecas SMTP). Con aspNetEmail, esto se logra utilizando la propiedad EmailMessage.ReversePath.


¿Quieres decir esto?:

//create the mail message MailMessage mail = new MailMessage(); //set the addresses mail.From = new MailAddress("[email protected]"); mail.To.Add("[email protected]"); //set the content mail.Subject = "This is an email"; mail.Body = "this is a sample body with html in it. <b>This is bold</b> <font color=#336699>This is blue</font>"; mail.IsBodyHtml = true; //send the message SmtpClient smtp = new SmtpClient("127.0.0.1"); smtp.Send(mail);

De http://www.systemnetmail.com/faq/3.1.2.aspx


Acabo de descubrir cómo hacerlo:

  • mail.Desde especificar el correo electrónico desde visible hasta el usuario final
  • mail.Sender especifica el sobre MAIL FROM

Eso es todo (incluso si me tomó un tiempo resolverlo)


MailMessage.Sender siempre insertará un encabezado de Sender (interpretado como en nombre de en su cliente de correo electrónico).

Si usa el método de entrega de Network en el SmtpClient , .Sender también cambiará el remitente en el sobre. El uso del método de entrega PickupDirectoryFromIis dejará que IIS determine el remitente del sobre e IIS utilizará la dirección From , no la dirección del Sender .

Hay una pregunta similar en MSDN aquí.


Si agrega las siguientes líneas, los encabezados Return-Path y Reply-To se configuran en el encabezado del correo.

Dim strReplyTo As String = "[email protected]" message.ReplyToList.Add(strReplyTo) message.Headers.Add("Return-Path", strReplyTo)

Y si hace clic en responder, el correo electrónico configurado en la dirección Responder a