我有一个 asp.net 4.0 网站(IIS7.5),我正在使用 PasswordRecovery 控件来创建忘记密码表单。当我在本地运行该网站时,它运行正常,电子邮件已发送。但是,当我从我的 vps(也是 IIS7.5)运行该网站时,尝试发送电子邮件时收到一条错误消息。服务器的事件日志中没有任何内容。
我的PasswordRecovery aspx代码如下:
<asp:PasswordRecovery ID="PasswordRecovery1" runat="server"
CssClass="mediumText">
<MailDefinition From="[email protected]" BodyFileName="~/EmailTemplates/PasswordRecovery.txt" />
我的web.config邮件设置如下:
<system.net>
<mailSettings>
<smtp from="[email protected]">
<network host="smtp.123-reg.co.uk" password="x" userName="x" />
</smtp>
</mailSettings>
我可以确认我可以从服务器 ping smtp.123-reg.co.uk。我知道用户名和密码是正确的,因为当我在笔记本电脑上运行该网站时,相同的配置文件可以正常工作。
有任何想法吗?
答案1
问题是由于防火墙访问 smtp 服务器造成的。解决方法是将本地主机配置为 smtp 服务器