asp.net MVC - 使用 MVCMailer 时,邮件服务器在尝试发送到非本地电子邮件地址时需要身份验证



我想向用户发送NewsLetter电子邮件。

我这样做过:

public ActionResult SendNewsLetter()
       {
           _userMailer.NewsLetter().Send();
           return View();
       }

在用户邮件类中:

 public virtual MvcMailMessage NewsLetter(string userEmail)
        {
            //ViewBag.Data = someObject;
            return Populate(x =>
            {
                x.Subject = "NewsLetter";
                x.ViewName = "NewsLetter";
                x.To.Add("hello@mydomain.mobi");
                x.Bcc.Add(userEmail);
            });
        }

我将提交的时事通讯电子邮件添加到密件抄送。

但是当我发送它时,我遇到了这个问题:

命令顺序错误。服务器响应为:此邮件服务器 尝试发送到非本地电子邮件时需要身份验证 地址。 请检查您的邮件客户端设置或联系您的 管理员验证是否为此定义了域或地址 服务器。

如果删除 bbc,我可以正常发送电子邮件,因为我已在 web.config 中为 hello@mydomain.mobi 提供了身份验证。

<system.net>
<mailSettings>
  <!-- Method#1: Configure smtp server credentials --><smtp deliveryMethod="Network" from="hello@mydomain.com">
    <network host="mydomain.com" port="25" userName="hello@mydomain.com" password="123456" enableSsl="false" />
  </smtp>
</mailSettings>

但我惊讶为什么我不能向其他电子邮件发送电子邮件?

有人知道吗?

您遇到的错误消息与 MVCMailer 完全无关。我会联系您尝试使用的 SMTP 服务器的系统管理员,看看您是否被允许使用您进行身份验证的hello@mydomain.com用户向值发送电子邮件 userEmail 。Web 服务器使用的许多 SMTP 服务器通常会对电子邮件进行限制或限制,以防止垃圾邮件。

最新更新