【问题标题】:Set a sender different from smtp client user设置不同于 smtp 客户端用户的发件人
【发布时间】:2015-06-16 01:25:50
【问题描述】:

我必须发送不同的电子邮件...每封电子邮件都有自己的发件人..我想只用一个帐户连接到我的 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);

我该怎么办?

感谢

【问题讨论】:

    标签: c# email smtpclient mail-sender


    【解决方案1】:

    我不认为它是这样工作的。无论您用于 SMTP 连接的凭据是它发送的地址。

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

    【讨论】:

    • 我有不同类型的电子邮件...并且每种类型的电子邮件都有不同的发件人...这意味着每次我必须发送电子邮件我必须与不同的用户联系...我想避免这种情况并始终使用一个用户进行连接...老实说,我认为您所说的有道理..我认为同样的事情..但另一方面,对我来说这看起来很奇怪,这是不可能的更灵活...
    • 你绝对可以这样做,以前做过,但可能是邮件服务器上的配置允许它。
    • 看看这个链接。展开这些部分,看看这些选项是否适合您,即您是否使用 gmail。 support.google.com/mail/answer/22370?hl=en
    • 我正在使用自己的 smtp 服务器
    猜你喜欢
    • 2011-11-08
    • 2017-05-08
    • 2013-10-31
    • 2010-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-17
    • 2020-12-22
    相关资源
    最近更新 更多