我有一个托管在 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。
最佳答案
解决方案是更改问题中提到的设置:
- “经过身份验证的发件人必须使用有效的发件人地址”-> 已禁用
- “允许经过身份验证的发件人中继”-> 启用“地址”
- 欺骗预防”设置为“任何人都可以欺骗发件人的地址”
但我错过的最后一步是重新启动 MailEnable。也许这对某人有帮助。
关于c# - 551 发件人地址对您的登录无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28507798/