2017-07-28 2 views
0

Szenario: Sie müssen eine E-Mail senden, die eigentlich eine Antwort Mail von einem asp.net C# -Programm ist. Ich verwaltete die E-Mail, die an den Client gesendet werden soll, sendet sie jedoch als neue E-Mail.Senden Sie eine E-Mail als Antwort mit SmtpClient

Code:

var SMTP = _genRepository.GetData("SELECT * FROM LOCATION WHERE ID='" + mail.LocationId + "'").FirstOrDefault(); 
SmtpClient c = new SmtpClient(SMTP.SMTP_Host, SMTP.SMTP_Port); 
MailAddress add = new MailAddress(mail.From); 
MailMessage msg = new MailMessage(); 
msg.To.Add(add); 
msg.From = new MailAddress(SMTP.Email); 
msg.IsBodyHtml = true; 
msg.Subject = mail.Subject; 
msg.Body = mail.Body; 
c.Credentials = new System.Net.NetworkCredential(SMTP.Email, SMTP.EmailPassword); 
c.EnableSsl = true; 
c.Send(msg); 

Ich habe die E-Mail messageid des Absenders. Ich muss nur wissen, wie ich die Mail als Antwort verschicke.

+0

Nicht sicher, dass dies etwas ist, was Sie mit Code machen möchten? Würden Sie nicht einfach eine automatische Antwort von diesem Posteingang einrichten? – ediblecode

+0

Ich baue diese kleine Web-App, die liest und antwortet. –

Antwort

1

Wenn Sie die folgenden Header hinzufügen, würde der Mail-Client die Mail als eine Antwort betrachten.

In-Reply-To

Referenzen

 MailMessage mailMessage = new MailMessage(); 
     mailMessage.Headers.Add("In-Reply-To", "<Message-ID Value>"); 
     mailMessage.Headers.Add("References", "<Message-ID Value>"); 

ich keine 'offizielle' Referenz für die SMTP-Header finden konnten, aber die folgenden werden einige details:

Das Vorhandensein von In-Reply-To- und References-Headern zeigt an, dass die Nachricht eine Antwort auf eine vorherige Nachricht ist Botschaft.

Der References-Header ermöglicht "Threaded Mail Reading" und Archivierung pro Diskussion.

Auch einige Mail-Clients wollen genau das gleiche Thema auch. Bitte beachten Sie diese verwandte SO post

In Outlook, wenn der Mail-Betreff ist gleich und "Conversation View" für den Ordner aktiviert ist, dann unabhängig von den oben genannten Header, würde es alle Mails mit dem gleichen Thema zusammen gruppiert.

Sie können eine Antwort manuell mit Ihrem Client senden und die Nachrichtenkopfzeilen mit der ursprünglichen E-Mail vergleichen, um zu sehen, wie Ihr Client die Nachrichtenkopfzeilen hinzufügt.

Verwandte Themen