【问题标题】:ASP.NET sending with Gmail smtp overrides From Address使用 Gmail smtp 发送的 ASP.NET 会覆盖发件人地址
【发布时间】:2015-03-02 08:55:12
【问题描述】:

我试图使用 smtp gmail 从 aspx 页面发送邮件消息(我们是谷歌应用程序客户,我尝试使用付费帐户和免费 gmail...) 我能够发送消息设置凭据、端口、ssl 等,但错误的是消息的发件人地址。事实上,邮件总是来自 auth 用户的地址,而不是来自我在 msg.From 属性中设置的地址......

例如。邮件来自“myaccount@gmail.com”,而不是来自 sender@somedomain.com

MailMessage msg = new MailMessage();
msg.From = new MailAddress("sender@somedomain.com", "sender name");
msg.To.Add(new MailAddress("recipient@somedomain.com","recipient name"));
msg.Subject = "subject";
msg.Body = "some body";

SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.Credentials = new System.Net.NetworkCredential("myaccount@gmail.com", "*******");
smtp.EnableSsl = true;

smtp.Send(msg);

有没有设置可以避免这种情况?

提前致谢

桑德罗

【问题讨论】:

    标签: asp.net smtp gmail


    【解决方案1】:

    检查邮件标题。 根据您的电子邮件客户端,以下是如何联系他们的说明:https://support.google.com/mail/answer/22454?hl=en

    您会看到,FROM 字段仅用于指示发件人的姓名。 电子邮件客户端可以忽略它,特别是如果它包含与真实发件人地址不同的地址。

    【讨论】:

    • 迈克,谢谢你的回答;我检查了 msg 标头,但发件人电子邮件地址(在我的示例中为 sender@somedomain.com)从未出现。它出现的名字,但不是他的电子邮件。只有 myaccount@gmail.com 是 auth 用户。所以显然任何客户都可以替代它......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-11
    • 2011-09-06
    • 2014-12-28
    • 2011-07-24
    • 1970-01-01
    • 2017-11-14
    相关资源
    最近更新 更多