【问题标题】:Reply To Email Address Not Working回复电子邮件地址不起作用
【发布时间】:2012-02-03 21:37:19
【问题描述】:

我试图在我的应用程序中以某人的身份发送电子邮件地址(电子邮件应该显示为好像是从那里发送的),但无论何时我发送电子邮件,名称都会显示为我提供的名称,但无论我做什么做,电子邮件地址是我用来验证的。

有什么方法可以让电子邮件看起来像是来自我指定的人,还是总是显示为来自经过身份验证的电子邮件?

这就是我所拥有的......

        using (var message = new MailMessage()
        {
            From = From != new MailAddress(From.Email, From.FormalName),
            Subject = Subject,
            Body = Body
        })
        {
            if (To != null)
            {
                foreach (var address in To)
                {
                    message.To.Add(new MailAddress(address.Email, address.FormalName));
                }
            }
            if (CC != null)
            {
                foreach (var address in CC)
                {
                    message.CC.Add(new MailAddress(address.Email, address.FormalName));
                }
            }
            var smtp = new SmtpClient
            {
                Host = "smtp.gmail.com",
                Port = 587,
                EnableSsl = true,
                DeliveryMethod = SmtpDeliveryMethod.Network,
                UseDefaultCredentials = false,
                Credentials = new NetworkCredential("myaccount", "mypassword")
            };
            message.IsBodyHtml = true;
            message.Headers.Add("Reply-To", message.From.Address);
            smtp.Send(message);
        }

【问题讨论】:

    标签: asp.net-mvc-3 gmail


    【解决方案1】:

    您似乎希望 Reply-To: 标头指示消息来自谁。实际上,为此目的有一个名为From: 的标头。所以试试:

      message.Headers.Add("From", message.From.Address);
    

    请注意,Gmail 可能会添加一个 Sender: 标头(收件人的电子邮件客户端可能会显示也可能不会显示),以反映您用于发送邮件的实际帐户。

    【讨论】:

    • 您能否查看接收端的标头并确认您认为您放入的内容实际上是 的吗?
    • From 标头肯定在我身上发生了变化……收到的实际消息与调试时看到的不同。
    【解决方案2】:

    从特定用户发送自动电子邮件时的最佳做法是使用“代表”语法(MailMessage 中的回复或发件人)与系统中的发件人地址一起使用,请参阅Sending "on behalf of" emails

    但是,只要您的邮件服务器支持并且接收邮件服务器不进行反向查找,您就可以将地址作为字符串直接放入 from 中

    【讨论】:

    • 我尝试指定所有三个(发件人、发件人和回复人)和相同的东西
    • 我认为您的问题可能是您使用 GMail 作为 SMTP 服务器。看起来 GMail 只允许您转发来自您自己地址的电子邮件。尝试将您的 gmail 地址放在 from 字段中,并将其他字段留空。有关 smtp 权限的详细信息,请参阅support.google.com/mail/bin/…
    猜你喜欢
    • 2021-06-27
    • 1970-01-01
    • 2023-04-05
    • 2017-10-09
    • 2015-06-25
    • 2013-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多