【发布时间】:2012-02-07 20:23:03
【问题描述】:
我正在尝试通过 System.Net.Mail 发送电子邮件。单击发送时,我收到以下异常
System.Net.Mail.SmtpFailedRecipientException:不允许使用邮箱名称。服务器响应是:我们不中继非本地邮件
MailAddress toAddress = new MailAddress(toEmail); 邮件地址 fromAddress = new MailAddress(fromEmail); MailMessage mailMsg = new MailMessage(fromAddress, toAddress); mailMsg.Subject = 电子邮件主题; mailMsg.Body = MessageBody.ToString(); mailMsg.IsBodyHtml = true; System.Net.Mail.SmtpClient smtp = new SmtpClient(EmailSettings.SmtpServer); smtp.Send(mailMsg);这就是我所做的一切。
我应该采取什么解决方法才能使它起作用
【问题讨论】:
-
使用本地 smtp 服务器(在您的域中)或找到一个允许通过身份验证进行中继的服务器。
-
如果您显示一些代码以及您在 web.config 中定义的任何相关内容(如果适用),将会有所帮助。
-
to 和 from 地址都来自同一个服务器
-
@Sandhurst:这可能还不够。它们不仅必须来自同一服务器,而且服务器名称应该等于
EmailSettings.SmtpServer值 - 包括子域。