Ich schreibe gerade einen Exchange 2007-Transport-Agent, um einige Header in allen ausgehenden Mails eines bestimmten Absenders zu ersetzen. Es ist mir gelungen, den 'From' SMTP-Header erfolgreich zu ersetzen, aber das Überschreiben des 'Return-Path'-Headers scheint nicht zu funktionieren.Bearbeiten eines SMTP-Headers mit einem Exchange 2007-Transport-Agent
Um dies alles 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
}
}
Ich möchte eigentlich den Return-Path-Header ändern. Ich suche nach einer Möglichkeit, das Standardverhalten des Servers zu überschreiben. Ich habe mir auch die Transportregeln angeschaut, aber sie konnten mir auch nicht helfen. –