43 votos

¿Cómo puedo asignar un valor a una MailMessage ReplyTo propiedad?

Quiero establecer el ReplyTo valor de una .NET MailMessage.

MailMessage.ReplyTo De La Propiedad:

ReplyTo es obsoleto para este tipo. Por favor utilice ReplyToList lugar que puede aceptar varias direcciones.

MailMessage.ReplyToList De La Propiedad:

Obtiene o establece la lista de direcciones respuesta para el mensaje de correo.

Pero, ReplyToList es de sólo lectura.

He intentado utilizar el MailMessage.Los encabezados de la propiedad como esta:

mail.Headers.Add("Reply-To", "johndoe@example.com");

como se describe a continuación: Sistema.Web.Correo, ¡OH MI dios!

Pero, que no parece funcionar.

¿Cómo se establece el valor(s) de la MailMessage la propiedad ReadOnly ReplyToList?

98voto

Giorgi Puntos 15760

ReplyToList es una instancia de MailAddressCollection que expone Agregar método.

Para agregar una nueva dirección que usted puede simplemente pasar la dirección de la cadena

  message.ReplyToList.Add("john.doe@example.com");

8voto

yzorg Puntos 1139

Me gusta la variedad de inicialización de la sintaxis, la cual será llamada Add() para usted.

var msg = new MailMessage("noreply@example.com", mailTo) {
    Subject = "my important message",
    Body = this.MessageBody,
    ReplyToList = { mailTo } // array init syntax calls Add()
};
mailClient.Send(msg);

6voto

Taersious Puntos 148

Mi respuesta es no a diferencia de las respuestas aceptadas ya dada. Sin embargo, sentí que necesitaba ser proporcionada.

var fromEmail = new MailAddress("foobar@example.com", "Foo Bar");
var replyEmail = new MailAddress("foo@example.com", "Foo Example");
var msgEmail = new MailMessage { From = fromEmail };
msgEmail.ReplyToList.Add( replyEmail );

6voto

Anthony Pegram Puntos 58528

No se puede decir

message.ReplyToList = new MailAddressCollection();

Para crear una nueva colección. Sin embargo, en adición a los ya existentes de la colección es lo que quieres hacer.

message.ReplyToList.Add(new MailAddress("foo@bar.net"));

2voto

Zack Peterson Puntos 19350

He utilizado el MailMessage.El remitente de la propiedad en su lugar.

mail.Sender = new Mail.MailAddress("system@example.com");
mail.From = new Mail.MailAddress("johndoe@example.com", "John Doe");

Más info: MailMessage diferencia entre el Remitente y a partir De propiedades

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X