通过 SMTP 服务发送电子邮件时收到以下错误消息:
我的系统上有以下 SMTP 设置:
操作系统:Windows 7 家庭高级版
IIS:IIS 7
我该如何解决这个问题?
谢谢。
通过 SMTP 服务发送电子邮件时收到以下错误消息:
我的系统上有以下 SMTP 设置:
操作系统:Windows 7 家庭高级版
IIS:IIS 7
我该如何解决这个问题?
谢谢。
根据内部异常和您的代码,您正尝试通过 127.0.0.1 发送邮件。
删除代码中将 smtp 主机设置为 127.0.0.1 的行应该会导致站点使用 IIS 中定义的 SMTP 设置。
由于 SMTP 设置通常在服务器设置、实时/测试环境之间有所不同,因此通常最好不要在代码中硬编码 SMTP 设置(例如 Host),而是通过 IIS 设置设置(实际上取自 web.config 的部分system.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。
我建议您查看异常详细信息,包括任何内部异常。冒昧地猜测一下,也许您没有写入 C:\Inetpub 的权限。