【问题标题】:smtp email from name not working来自名称的 smtp 电子邮件不起作用
【发布时间】:2014-06-10 03:19:36
【问题描述】:

我在我的网站上设置了一个联系我们页面,我想让它看起来像是来自不同的电子邮件地址。

<mailSettings>
  <smtp from="info@magazine.com">
    <network host="smtp.gmail.com" enableSsl="true" port="587" userName="admin@magazine.com" password="password" defaultCredentials="false" />
  </smtp>
</mailSettings>

所以我制作了我的邮件客户端并尝试发送电子邮件

 MailMessage message = new MailMessage();

 message.To.Add(new MailAddress(ConfigurationManager.AppSettings["ContactEmailTo"]));

 message.Subject = "Contact Request";
 message.Body = body;

 SmtpClient client = new SmtpClient();
 client.Send(message);

但是,当我收到电子邮件时,我是从管理员地址收到的。

【问题讨论】:

  • 很可能是 gmail 阻止您使用别名。我不熟悉 gmail,但它是否为您提供了使用备用电子邮件地址创建别名的选项?否则,您可以使用您发送邮件的电子邮件地址创建一个 gmail 帐户并连接到该帐户吗?

标签: c# email web-config


【解决方案1】:

您好像是通过 GMail 发送邮件的。他们的 SMTP 服务器重写 FROM 地址。参见例如this question

如果您想使用 GMail,this answer 建议在您的帐户设置中添加 FROM 电子邮件:

设置 -> 帐户 -> 发送邮件 -> 添加您拥有的另一个电子邮件地址

另一种选择是使用不同的 SMTP 服务器,它允许您设置 FROM 地址。

【讨论】:

    【解决方案2】:

    使用MailAddress 上的构造函数重载之一来指定地址和显示名称,如下所示:

    MailAddress address = new MailAddress("user@website.com", "John Smith");
    

    请参阅:http://msdn.microsoft.com/en-us/library/1s17zfkf%28v=vs.110%29.aspx 了解更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-21
      • 2015-02-13
      • 2014-07-27
      • 2016-10-22
      相关资源
      最近更新 更多