ASP.NET MVC - SmtpClient - 客户端没有作为此发件人发送的权限

时间:2011-09-01 15:10:33

标签: c# .net asp.net asp.net-mvc smtp

  

可能重复:
  .NET SMTP Client - Client does not have permissions to send as this sender

我有一个ASP.NET MVC3应用程序,它执行以下代码。

MailMessage message = new MailMessage("none@none.com", "none@none.com", "Test Message","Test Body");
EmailManager.Send(message);

然后我有一个引用的DLL,用于发送电子邮件。

public static class EmailManager
{
    #region Public Methods

    public static void Send(MailMessage message)
    {
        if (ApplicationConfiguration.Instance.EnableEmail)
        {
            var client = new SmtpClient(ApplicationConfiguration.Instance.SmtpAddress);
            client.UseDefaultCredentials = true;
            client.Send(message);
        }
    }

    #endregion
}

我遇到的问题是,当我发送电子邮件时,我收到以下错误: 信箱不可用。

The server response was: 5.7.1 Client does not have permissions to send as this sender

有趣的是,当我在我的Web应用程序中直接使用相同的代码时,电子邮件会正确发送。是否有理由在通过引用的DLL调用时未获取凭据?可能是因为它是静态的(或者不能在Web应用程序之外获取凭据?)。

1 个答案:

答案 0 :(得分:1)

这通常在锁定SMTP服务器时发生。它可能具有IP地址的白名单,而您的不是其中之一,或者您的地址不在授权的出站域列表中。