gpt4 book ai didi

smtp - 使用 Exchange 2007 传输代理编辑 SMTP header

转载 作者:行者123 更新时间:2023-12-04 19:23:37 26 4
gpt4 key购买 nike

我目前正在编写一个 Exchange 2007 传输代理来替换来自特定发件人的所有外发邮件中的某些 header 。我设法成功替换了“From”SMTP header ,但重写“Return-Path” header 似乎不起作用。

为了实现这一切,我编写了一个自定义 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
}

}

最佳答案

根据 RFC,Return-Path header 应该由收件人的 SMTP 服务器设置。如果电子邮件中存在 Return-Path header ,它将被删除,并由收件人的服务器重置。

也许您所看到的是 RFC 的正确实现。

关于smtp - 使用 Exchange 2007 传输代理编辑 SMTP header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1673752/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com