为什么更改 Exchange 传输代理中的 sender/from 会导致该用户的主地址?

Why does changing the sender/from in an Exchange Transport Agent result in the primary address of that user?

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

这已经很有效了,只需设置:

MailItem.Message.From = new EmailRecipient(DisplayName, Address);

下面的地方似乎没必要也设置,就像我发现的很多例子:

MailItem.Message.Sender = new EmailRecipient(DisplayName, Address);
MailItem.FromAddress = new RoutingAddress(Address);

我可以设置任何随机的不存在或外部地址,或同一 company/domain 中其他用户的任何现有地址。

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

不知道为什么会这样,但是当我更换时
SmtpReceiveAgentOnEndOfDataEvent 通过
RoutingAgentOnCategorizedMessage
它刚刚开始工作,没有其他更改。

我现在还添加了设置MailItem.FromAddress
所以 Return-Path header 受到了正确的影响。