2017-01-04 2 views
1

Ich schrieb einen C# -Client, um E-Mails von meinem POP3-Postfach herunterladen und sie über SMTP an meinen internen Exchange-Server weiterleiten.Weiterleiten von E-Mails über C# SMTP-Client und halten Zeitstempel und Lieferzeit

Der folgende Code funktioniert. Aber die Zeitstempel und die Lieferzeitinformation von der ursprünglichen E-Mail werden überschrieben und daher verloren, weil dieser Code eine komplette neue E-Mail erstellt.

Gibt es eine Möglichkeit, E-Mails weiterzuleiten, ohne die Zeitstempelinformationen aus der ursprünglichen E-Mail zu verlieren?

using (SmtpClient smtp = new SmtpClient()) 
{ 
    smtp.Connect(connectionServer["ExchangeServer"], 25); 
    try 
    { 
     smtp.Ehlo(connectionServer["ExchangeServer"] + "." + 
      connectionServer["ExchangeServerDomain"] + ".local"); 
    } 
    catch 
    { 
     success = false; 
     smtp.Helo(connectionServer["ExchangeServer"] + "." + 
      connectionServer["ExchangeServerDomain"] + ".local"); 
    } 
    smtp.MailFrom(""); 
    smtp.RcptTo(popReceipient); 
    smtp.DataFromFile(path); 
    smtp.Disconnect(); 
} 
+0

ist leider nicht möglich – Steve

+0

Danke für Ihre Antwort Steve. Ich habe fast schon gedacht, dass dies vielleicht die Antwort sein wird ... Aber es gab eine kleine Hoffnung, dass es einen Trick gibt. Ich denke, das ist vielleicht aus Sicherheitsgründen. – Simon

Antwort

0

Es ist nicht möglich. Eine andere Möglichkeit wäre, OpenPop.Net zu verwenden, um eine separate E-Mail mit der ursprünglichen E-Mail als "* .eml" -Datei zu senden, die bei den meisten E-Mail-Clients geöffnet sein kann. Ich kann etwas Code veröffentlichen, wenn dieser Ansatz für Sie nützlich ist.

+0

Könnte eine Arbeit sein, aber die Handhabung für den Endbenutzer ist ein bisschen schwierig. In meinem Fall ist das nicht möglich und ich muss vielleicht den kleinen Zeitunterschied zwischen dem Download und der Weiterleitung der pop3 E-Mail akzeptieren. – Simon

0

Können Sie über IMAP auf Ihren Zielserver zugreifen?

Wenn ja, können Sie die E-Mail mit beliebigen Zeitstempeln an Ihren Ordner INBOX anhängen. Wenn Sie über IMAP auf Ihren Quellserver zugreifen können, können Sie auch INTERNALDATE als Zeitstempel verwenden.

Verwandte Themen