我在通过SMTP服务发送电子邮件时收到以下错误消息:
我的系统上有以下SMTP设置:
操作系统:Windows 7 Home Premium
IIS:IIS 7
我该如何解决这个问题?
感谢。
答案 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。