在我的网站上,我发送电子邮件。我的情况是这些邮件是在使用我的本地开发机器时发送的,而不是在我的生产环境中发送的。
两个网站上的web.config相同:
<system.net>
<mailSettings>
<smtp from="info@domain.dk" deliveryMethod="Network">
<network host="mail.domain.dk" userName="info@domain.dk" password="mypassword" port="26"></network>
</smtp>
</mailSettings>
</system.net>
在我的代码中,我这样发送:
SmtpClient client = new SmtpClient();
client.Send(mail);
我不知道如何调试此问题,因为它与生产和开发完全相同。
有关如何开始调试/解决问题的任何想法?
编辑:
我设法从服务器获取日志。错误是:
2012-11-01 20:41:58,383 [11] FATAL GKBusiness.Managers.MailManager [(null)] - Email exception: Mailbox unavailable. The server response was: Access denied - Invalid HELO name (See RFC2821 4.1.1.1)
嗯
答案 0 :(得分:1)
我的情况是在使用我的本地开发计算机时发送这些邮件,而生产环境中不。
<network host=..... port="26">
如果您位于共享托管环境中,ASP.Net可能设置为Medium Trust
- 如果是,SMTP is restricted to port 25
它将在您的本地环境中运行,因为ASP.Net设置为Full Trust
(在本地/ VS dev中)。