2012-04-30 91 views
0

C#我試圖用以下代碼發送郵件。操作系統是Windows 2008服務器。 SMTP已安裝。使用SmtpClient發送郵件時發生異常

  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, 我m到處例外:發送郵件失敗。 堆棧跟蹤:在System.Net.Mail.SmtpClient.Send(MailMessage消息)....

======================== ================================================== ================

時沒有安裝SMTP另一種情況,它讓我異常無法獲取IIS拾取目錄

任何幫助是非常可觀。

由於* 強大的文本 *

+0

那些片段是不是非常有幫助..一些指點:可以使用telnet連接到本地SMTP?粘貼異常詳細信息 –

+0

您的IIS用戶是否具有對拾取目錄的寫入權限?另外,你是否嘗試過使用網絡傳遞方法而不是PickupDirectoryFromIis? – JamieSee

+0

@Osama:我可以使用telnet連接到本地smtp。例外:無法發送郵件 堆棧跟蹤:在System.Net.Mail.SmtpClient.Send(MailMessage消息) at QH.ExchangeProtection.Util.CommonUtil.SendMail(String sender,String recipients,String subject,字符串主體)「 –

回答

0

這是一個反病毒程序,QH交換保護,從應用程序發送郵件的干擾。請聯繫您的系統管理員。如果您是系統管理員,則需要了解如何告訴Quick Heal的產品不要這樣做。

+0

是的,你怎麼知道它是在那裏安裝的這個特定的程序? – TomTom