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

时间:2014-04-06 17:26:48

标签: asp.net-mvc email mvcmailer

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

我这样做了:

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

并在userMailer类中:

 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>

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

有人有任何想法吗?

1 个答案:

答案 0 :(得分:1)

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