0

在我的网站上,我发送电子邮件。我的情况是这些邮件是在使用我的本地开发机器时发送的,而不是在我的生产环境中发送的。

两个站点上的 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)

4

1 回答 1

1

我的情况是这些邮件是在使用我的本地开发机器时发送的,而不是在我的生产环境中发送的。

<network host=..... port="26">

如果您在共享主机环境中,很可能 ASP.Net 设置为Medium Trust- 如果是这样,则 SMTP 仅限于端口 25

它将在您的本地环境中工作,因为 ASP.Net 设置为Full Trust(在本地/VS 开发中)。

于 2012-11-02T00:48:29.077 回答