c# - 551 发件人地址对您的登录无效

标签 c# asp.net email smtp

我有一个托管在 IIS 7.5 上的 asp.net C# webforms 项目。邮件服务器 MailEnable 服务器也用于发送/接收邮件。

在我的项目中,用户在表单中输入他的邮件地址,我需要发送一封邮件,其中“发件人”字段设置为该用户的电子邮件地址,“收件人”字段设置为其他用户的电子邮件地址。

之前一切正常,但现在服务器上发生了一些变化,所以我开始收到消息: “服务器响应是:发件人地址对您的登录无效。请检查您的电子邮件程序设置。”根据 http://www.mailenable.com/kb/Content/Article.asp?ID=me020032&SS=,这是 551 错误

到目前为止,我发现应该这样设置: 1)“经过身份验证的发件人必须使用有效的发件人地址”->禁用 2)“允许经过身份验证的发件人中继”->启用 3)“防止地址欺骗”设置为“任何人都可以欺骗发件人的地址” 但这并没有帮助。

我还应该检查/更改什么以使其正常工作?

这是部分邮件发送代码: 设置“来自”字段:

message.From = new MailAddress(context.From);

设置smtp参数:

 SmtpClient smtpClient = new SmtpClient
 {
    Host = WebConfigurationManager.AppSettings["SMTP_Server"],
    Port = Int32.Parse(WebConfigurationManager.AppSettings["SMTP_Port"]),
    Credentials = new   System.Net.NetworkCredential(WebConfigurationManager.AppSettings["SMTP_Login"],
  WebConfigurationManager.AppSettings["SMTP_Passw"]),
  Timeout = _timeOut,
  EnableSsl = Boolean.Parse(WebConfigurationManager.AppSettings["EnableSsl"])
};

我已检查 Plesk 和我用于发送邮件的 smtp 用户是否存在 SMTP_Login/SMTP_Passw。

最佳答案

解决方案是更改问题中提到的设置:

  1. “经过身份验证的发件人必须使用有效的发件人地址”-> 已禁用
  2. “允许经过身份验证的发件人中继”-> 启用“地址”
  3. 欺骗预防”设置为“任何人都可以欺骗发件人的地址”

但我错过的最后一步是重新启动 MailEnable。也许这对某人有帮助。

关于c# - 551 发件人地址对您的登录无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28507798/

相关文章:

c# - 将更多 dll 加载到代码中会导致崩溃

c# - 用户控制的开始和结束标签之间不允许有内容

android - 将 textview 的内容传递给邮件正文

c# - 带有委托(delegate)参数的通用方法

c# - 何时在线程安全锁定代码中使用 'volatile' 或 'Thread.MemoryBarrier()'? (C#)

c# - ValidationSummary 不显示错误

asp.net - 在 Web 应用程序中存储信用余额的最佳实践

c# - 从 C# 程序填充电子邮件模板

ruby - 将电子邮件组织成线程的算法?

c# - 以下哪种并行化异步方法的方法最合适?