使用SmtpClient发送时发送邮件异常失败

时间:2012-04-30 14:21:21

标签: c# .net

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提取目录

任何帮助都非常值得赞赏。

谢谢* 强文 *

2 个答案:

答案 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的产品不要这样做。