3

我想向用户发送 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>

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

有人知道吗?

4

1 回答 1

2

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

于 2014-04-07T01:15:19.397 回答