C# 无法获取IIS拾取目录(从Windows服务)
我从windows服务发送电子邮件时遇到上述错误。非常感谢你的建议C# 无法获取IIS拾取目录(从Windows服务),c#,asp.net,iis,c#-3.0,iis-6,C#,Asp.net,Iis,C# 3.0,Iis 6,我从windows服务发送电子邮件时遇到上述错误。非常感谢你的建议 SmtpClient smtpClient = new SmtpClient(); MailMessage mailMsg = this.ComposeMailMessage(); smtpClient.Send(mailMsg); 配置 也许我的答案不是您要搜索的答案,但请尝试以下方法(避免使用IIS): 您可能需要手动设置SmtpClient PickupDirectory 卢卡斯·波科尼的回答中有一个例子说明了如何做到这
SmtpClient smtpClient = new SmtpClient();
MailMessage mailMsg = this.ComposeMailMessage();
smtpClient.Send(mailMsg);
配置
也许我的答案不是您要搜索的答案,但请尝试以下方法(避免使用IIS):
您可能需要手动设置SmtpClient PickupDirectory 卢卡斯·波科尼的回答中有一个例子说明了如何做到这一点:
尝试将以下行添加到程序中。此行需要在桌面上运行IIS管理和SMTP服务
smtpClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
所以会变成这样
SmtpClient smtpClient = new SmtpClient();
MailMessage mailMsg = this.ComposeMailMessage();
smtpClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
smtpClient.Send(mailMsg);
很可能,运行您网站的进程无法访问存储分拣目录名称的IIS元数据库,这是导致您出现错误的一般原因。感谢您的回复,但windows服务中的代码由其他方维护,并且在其他环境中运行良好。事实上,我想使用“网络”作为传递方法,因为SMTP服务器是独立的服务器。
smtpClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
SmtpClient smtpClient = new SmtpClient();
MailMessage mailMsg = this.ComposeMailMessage();
smtpClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
smtpClient.Send(mailMsg);