मैं वर्तमान में एक एक्सचेंज 2007 परिवहन एजेंट लिख रहा हूँ किसी प्रेषक के सभी बाहर जाने वाले मेल में कुछ हेडर को बदलने के लिए वाले SMTP हेडर का संपादन। मैं सफलतापूर्वक 'से' एसएमटीपी हेडर को प्रतिस्थापित करने में कामयाब रहा, लेकिन 'रिटर्न-पथ' हेडर को फिर से लिखना काम नहीं कर रहा है।एक Exchange 2007 परिवहन एजेंट
यह सब होने बनाने के लिए, मैं एक कस्टम SmtpReceiveAgent लिखा गया है और इस तरह OnEndOfData घटना की सदस्यता है
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
}
}
मैं वास्तव में रिटर्न-पथ शीर्षलेख बदलना चाहता हूं। मैं सर्वर के डिफ़ॉल्ट व्यवहार को ओवरराइड करने का एक तरीका ढूंढ रहा हूं। मैंने परिवहन नियमों को भी देखा लेकिन वे मेरी मदद नहीं कर सके। –