我想发送电子邮件文件夹,而不是发送电子邮件到网络。
我将web.config
文件修改为
<mailSettings >
<smtp deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory pickupDirectoryLocation="C:\Email"/>
</smtp>
</mailSettings>
</system.net>
而我的代码是
SmtpClient client = new SmtpClient();
client.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
问题是当我使用客户端时。发送它不会将电子邮件保存到文件夹,也不会收到任何错误。
那我在这里错过了什么?
答案 0 :(得分:1)
看看Papercut。我对它进行了抽样并阅读了很多评论。
答案 1 :(得分:1)
您不需要代码中要修改client. Delivery Method
的行 - 这已经在web.config中设置并且是多余的 - 所以我要做的第一件事就是删除它。
Web配置行看起来不错,但我会尝试i)在该文件夹规范中添加一个尾部斜杠,ii)检查它是否存在,iii)确保所需进程有权写入它,以及iv)检查事件记录错误。
答案 2 :(得分:0)
如果您将应用程序作为网络服务运行(IIS中的默认设置),则很可能它对该文件夹没有任何写入权限。尝试将其更改为本地系统并查看它是否有帮助(仅用于测试,从不使用本地系统上下文进行生产)。