C#我正在尝试使用以下代码发送邮件。操作系统是Windows 2008服务器。已安装SMTP。
MailMessage message = new MailMessage();
string[] recipientslist = recipients.Split(';');
foreach (string recipient in recipientslist)
{
if (!String.IsNullOrEmpty(recipient))
{
System.Net.Mail.MailAddress mailAddress =
new System.Net.Mail.MailAddress(recipient);
message.To.Add(mailAddress.Address);
}
}
message.From = new MailAddress(sender);
message.Subject = subject;
message.Body = body;
SmtpClient smtpClient = new SmtpClient();
smtpClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
smtpClient.UseDefaultCredentials = true;
smtpClient.Send(message);
在web.config中
<system.net>
<mailSettings>
<smtp deliveryMethod="PickupDirectoryFromIis">
<network host="localhost" port="25" defaultCredentials="true" />
</smtp>
</mailSettings>
</system.net>
甚至安装了smtp, 我得到例外:发送邮件失败。 堆栈跟踪:在System.Net.Mail.SmtpClient.Send(MailMessage消息)....
=============================================== ===========================================
未安装SMTP的另一种情况,它给我异常无法获取IIS提取目录
任何帮助都非常值得赞赏。
谢谢* 强文 *
答案 0 :(得分:1)
我得到了答案..
默认IIS拾取目录需要权限。我刚刚添加了网络服务的权限并完成了。
以下是在发送邮件之前应该验证的检查清单。 http://torontoprogrammer.ca/2011/04/fixing-the-cannot-get-iis-pickup-directory-error-in-asp-net/
由于
答案 1 :(得分:0)
这是一个反病毒程序,QH Exchange Protection,干扰从应用程序发送邮件。请与您的系统管理员联系。如果您是系统的管理员,则需要了解如何告知Quick Heal的产品不要这样做。