C# 设置不同于smtp客户端用户的发件人

C# 设置不同于smtp客户端用户的发件人,c#,email,smtpclient,mail-sender,C#,Email,Smtpclient,Mail Sender,我必须发送不同的电子邮件。。。每封电子邮件都有自己的发件人。。我只想用一个帐户连接到我的smtp服务器 因此,例如,我希望使用此用户连接到smtp服务器: smtpclient@something.com 但是我想把邮件从 noreply@something.com 我写了一些发送电子邮件的代码。。代码有效,因为我收到了电子邮件。。但有些地方出了问题: 我收到来自的电子邮件smtpclient@something.com但是我想收到你的电子邮件noreply@something.com 我正在使

我必须发送不同的电子邮件。。。每封电子邮件都有自己的发件人。。我只想用一个帐户连接到我的smtp服务器

因此,例如,我希望使用此用户连接到smtp服务器: smtpclient@something.com

但是我想把邮件从 noreply@something.com

我写了一些发送电子邮件的代码。。代码有效,因为我收到了电子邮件。。但有些地方出了问题: 我收到来自的电子邮件smtpclient@something.com但是我想收到你的电子邮件noreply@something.com

我正在使用EmailDefinition:

MailDefinition mailDefinition = new MailDefinition();
mailDefinition.BodyFileName = urlEmailLayout;
mailDefinition.IsBodyHtml = true;
mailDefinition.From = from.EmailAddress;

MailMessage email = mailDefinition.CreateMailMessage(string.Join(",", to.Select(t => t.EmailAddress)), bodyValues, new System.Web.UI.LiteralControl());
email.From = new MailAddress(from.EmailAddress, from.DisplayName);
我使用SmtpClient发送电子邮件:

SmtpClient client = new SmtpClient(smtpServer.Host, smtpServer.Port);
client.EnableSsl = smtpServer.RequireCredential;

if(smtpServer.RequireCredential)
    client.Credentials = 
        new System.Net.NetworkCredential(
                smtpServer.Credential.Username, 
                smtpServer.Credential.Password
        );

client.Send(this._email);
我该怎么办


Thanx

我认为它不是那样工作的。SMTP连接使用的任何凭据都是它的发送地址


为什么不使用的凭据连接到SMPT服务器noreply@something.com?

我有不同类型的电子邮件。。。每种类型的电子邮件都有不同的发件人。。。这将意味着每次我必须发送电子邮件,我必须与不同的用户连接。。。我想避免这种情况,并始终使用一个用户连接。。。我真的认为你说的有道理。。我也这么认为。。但另一方面,我觉得奇怪的是,不可能有更多的灵活性…你肯定可以这样做,以前做过,但这可能是邮件服务器上允许的配置。请查看此链接。展开这些部分,看看这些选项是否适合你,也就是说,如果你正在使用gmail。我正在使用我自己的smtp服务器