C# 为什么在Exchange传输代理中更改发件人/发件人会导致该用户的主地址?

C# 为什么在Exchange传输代理中更改发件人/发件人会导致该用户的主地址?,c#,.net-4.5,exchange-server-2016,exchange-transport-agents,C#,.net 4.5,Exchange Server 2016,Exchange Transport Agents,我已成功地使用OnEndOfDataEvent创建了一个SmtpReceiveAgent。它应该取代某些电子邮件的发件人,以便收件人看到新发件人并能够回复 这已经非常有效,只需设置: MailItem.Message.From = new EmailRecipient(DisplayName, Address); 似乎没有必要同时设置以下位置,就像我在许多示例中发现的那样: MailItem.Message.Sender = new EmailRecipient(DisplayName, Ad

我已成功地使用
OnEndOfDataEvent
创建了一个
SmtpReceiveAgent
。它应该取代某些电子邮件的发件人,以便收件人看到新发件人并能够回复

这已经非常有效,只需设置:

MailItem.Message.From = new EmailRecipient(DisplayName, Address);
似乎没有必要同时设置以下位置,就像我在许多示例中发现的那样:

MailItem.Message.Sender = new EmailRecipient(DisplayName, Address);
MailItem.FromAddress = new RoutingAddress(Address);
我可以设置任何随机不存在或外部地址,或同一公司/域中其他用户的任何现有地址


但是,当该用户存在于我们的系统中,并且不是其主地址时,它将被主地址替换。但这正是我想要的:使用其他地址。。。如何修复此问题?

不知道为什么会发生这种情况,但当我替换时
SmtpReceiveAgent
OnEndOfDataEvent
by
RoutingAgent
OnCategorizedMessage

它刚刚开始工作,没有其他变化

我还添加了设置
MailItem.FromAddress
now,
因此,
返回路径
头受到了正确的影响