it-swarm.com.de

Wie kann ich einer MailMessage-ReplyTo-Eigenschaft einen Wert zuweisen?

Ich möchte den ReplyTo-Wert für eine .NET MailMessage festlegen.

MailMessage.ReplyTo Eigenschaft:

ReplyTo ist für diesen Typ veraltet. Bitte verwenden Sie stattdessen ReplyToList welche kann mehrere Adressen akzeptieren.

MailMessage.ReplyToList Eigenschaft:

Ruft die Adressliste auf .__ ab oder legt sie fest. Antworten Sie auf die E-Mail-Nachricht.

ReplyToList ist jedoch ReadOnly.

Ich habe versucht, die MailMessage.Headers -Eigenschaft wie folgt zu verwenden:

mail.Headers.Add("Reply-To", "[email protected]");

wie hier beschrieben: System.Web.Mail, OH MY!

Aber das scheint nicht zu funktionieren.

Wie lege ich den Wert der ReadOnly-Eigenschaft ReplyToList von MailMessage fest?

46
Zack Peterson

ReplyToList ist eine Instanz von MailAddressCollection , die die Add -Methode verfügbar macht.

Um eine neue Adresse hinzuzufügen, können Sie die Adresse einfach als Zeichenfolge übergeben

  message.ReplyToList.Add("[email protected]");
105
Giorgi

Ich mag die Array-Init-Syntax, die Add () für Sie aufruft.

var msg = new MailMessage("[email protected]", mailTo) {
    Subject = "my important message",
    Body = this.MessageBody,
    ReplyToList = { mailTo } // array init syntax calls Add()
};
mailClient.Send(msg);
8
yzorg

Meine Antwort ist den bereits akzeptierten akzeptierten Antworten nicht unähnlich. Ich hatte jedoch das Gefühl, es müsste bereitgestellt werden.

var fromEmail = new MailAddress("[email protected]", "Foo Bar");
var replyEmail = new MailAddress("[email protected]", "Foo Example");
var msgEmail = new MailMessage { From = fromEmail };
msgEmail.ReplyToList.Add( replyEmail );
6
Taersious

Du kannst nicht sagen

message.ReplyToList = new MailAddressCollection();

So erstellen Sie eine neue Sammlung. Das Hinzufügen der vorhandenen collection ist jedoch das, was Sie tun möchten. 

message.ReplyToList.Add(new MailAddress("[email protected]"));
6
Anthony Pegram

Ich habe stattdessen die MailMessage.Sender - Eigenschaft verwendet.

mail.Sender = new Mail.MailAddress("[email protected]");
mail.From = new Mail.MailAddress("[email protected]", "John Doe");

Weitere Informationen: MailMessage, Unterschied zwischen Sender- und From-Eigenschaften

2
Zack Peterson
0
Zeek2

Sie müssen der ReplyToList-Liste mithilfe der Add-Methode eine Liste der ReplyTo-Adressen hinzufügen:

            mail.Sender = new MailAddress(from, displayName);
            mail.From = new MailAddress(from, displayName);
            mail.ReplyToList.Add("[email protected]");
0
Adel P.G.