C# 使用不同于凭证id的地址发送电子邮件?

C# 使用不同于凭证id的地址发送电子邮件?,c#,.net,C#,.net,我在做一个项目。用户A可以向系统发送电子邮件,然后另一个用户B可以回复该电子邮件。但是我不想在回复中显示用户B的电子邮件。相反,我使用的是一个系统帐户sys@mysite.com用于SMTP发送回复。因此,处理过程如下所示: UserA@mysite.com ---> sys@mysite.com UserB login, check sys@mysite.com, write reply, and send reply using credential of sys@mysite.com

我在做一个项目。用户A可以向系统发送电子邮件,然后另一个用户B可以回复该电子邮件。但是我不想在回复中显示用户B的电子邮件。相反,我使用的是一个系统帐户sys@mysite.com用于SMTP发送回复。因此,处理过程如下所示:

UserA@mysite.com ---> sys@mysite.com
UserB login, check sys@mysite.com, write reply, and send reply using credential of sys@mysite.com
我想在回复中显示来自电子邮件的信息userB@mysite.com而不是sys@mysite.com .

这可以通过使用SMTP实现吗?或者,它完全取决于电子邮件服务器,即是否可以配置?或者,不能这样做

我正在使用.NETC

谢谢

添加更多详细信息:


例如,UserBuserB@mysite.com使用的凭据回复电子邮件sys@mysite.com因为我们可以设置凭证,所以userA会得到回复。打开时,电子邮件显示为电子邮件由发送sys@mysite.com而不是userB@mysite.com . 我想显示来自电子邮件的UserB@mysite.com . 可能吗?

是的,框架为所有这些提供了API

可以为SmtpClient提供一个凭据对象,它将使用该对象进行身份验证。

MailMessage封装消息数据,包括发件人和回复收件人。

我在原始问题中添加了更多细节。如果我使用sys@发送电子邮件,它总是显示电子邮件来自sys@虽然我们可以更改reply to或send from displayname,但sys@在收件人端总是可见的,这是我想要避免的。我只是猜测,可能是服务器端的行为?您应该能够通过观察连线来验证代码是否发送了正确的头。我使用.net smtpclient发送它,将fromAddress myfrom@和replyTo设置为myReply@. 奇怪的是:回复仍然使用凭据中设置的smtp帐户。