Frage

Ich bin derzeit eine Exchange 2007-Transport-Agent zu schreiben einige Header in alle ausgehenden E-Mails von einem bestimmten Absender zu ersetzen. Ich schaffte es das ‚Von‘ SMTP-Header erfolgreich zu ersetzen, aber scheinen die ‚Return-Path‘ Header Umschreiben nicht zu funktionieren.

Um all dies geschehen, ich habe eine benutzerdefinierte SmtpReceiveAgent geschrieben und an die OnEndOfData Veranstaltung wie diese abonnieren:

private static void MyAgent_OnEndOfData(ReceiveMessageEventSource source, EndOfDataEventArgs e)
        {

            try
            {
                var address = e.MailItem.Message.From.SmtpAddress;
                if (address.ToLower().EndsWith("[internal email domain]"))
                {
                    // replace the From: header - WORKING FINE!
                    e.MailItem.Message.From = new EmailRecipient("[displayname]",
                                                                 "[email address]");

                    // replace the Return-Path: header - NOT WORKING!
                    var headerList = e.MailItem.Message.RootPart.Headers;
                    var header = (AddressHeader)headerList.FindFirst("Return-Path");
                    var newheader = new AddressHeader("Return-Path") { Value = "[email address" };
                    headerList.ReplaceChild(newheader, header);
                }
            }
            catch (Exception ex)
            {
               // do something useful here
            }

        }
War es hilfreich?

Lösung

Per den RFCs wird der Return-Path-Header soll durch den SMTP-Server des Empfängers eingestellt werden. Wenn ein Return-Path-Header in der E-Mail existiert, ist es entfernt werden, und durch den Empfänger der Server zurückgesetzt.

Vielleicht, was Sie sehen, ist die korrekte Umsetzung der RFCs.

Andere Tipps

Ich bin nicht sicher, aber es klingt wie Sie den „Antwort an“ Header und nicht den „Rückkehr-Pfad“ sein möchten ändern. "Return-Path" ist gemeint, durch den Server festgelegt werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top