通过SMTP发送电子邮件时出错

时间:2012-08-26 11:49:05

标签: email message asp.net-4.0 smtpclient

我在通过SMTP服务发送电子邮件时收到以下错误消息:

enter image description here

我的系统上有以下SMTP设置:

enter image description here

操作系统:Windows 7 Home Premium

IIS:IIS 7

我该如何解决这个问题?

感谢。

2 个答案:

答案 0 :(得分:1)

根据内部异常和您的代码,您尝试通过127.0.0.1发送邮件。

删除代码中将smtp主机设置为127.0.0.1的行应该会导致该站点使用IIS中定义的SMTP设置。

由于SMTP设置通常会在服务器设置,实时/测试环境之间有所不同,因此通常最好不要在代码中对SMTP设置(如Host)进行硬编码,而是通过IIS设置设置(实际上是从Web设置) .config的section.net /mailSettings)。

修改

由于您的web.config没有mailSettings部分,我假设您在服务器视图中从IIS7中的SMTP电子邮件中截取了屏幕截图。网站视图中有类似的部分。

您可以手动将mailSettings添加到web.config:我通常会这样做。

对于您的设置(即将电子邮件作为文件存储在目录中),将需要以下内容:

  <system.net>
    <mailSettings>
      <smtp deliveryMethod="specifiedPickupDirectory">
        <specifiedPickupDirectory pickupDirectoryLocation="c:\inetpub" />
      </smtp>
    </mailSettings>
  </system.net>

请注意,这不会发送发送电子邮件,而只是将它们存储在SMTP服务器的文件夹中以便提取它们。要发送它们,您需要设置SMTP服务器或连接到http://sendgrid.com之类的第三方。

答案 1 :(得分:0)

我建议您查看异常详细信息,包括任何内部异常。为了猜测,可能您没有权限写入C:\ Inetpub。