2012-10-12 61 views
1

我有一個IIS7的Windows Server 8機器。IIS7 SMTP服務器長時間發送郵件

我在IIS7上配置了一個SMTP服務器,供.NET Web應用程序使用,向系統用戶發送一些通知。

SMTP服務器配置爲Deliver emails to SMTP server,端口號25,使用localhost,no authentication

我的問題是,電子郵件發送正確,但直到一天後,甚至更長。我從wwwroot的收件目錄中看到電子郵件,但他們只是呆在那裏。對於系統來說,電子郵件立即發送是非常重要的。

我該如何確保電子郵件發送imediatelly?

我發現了一個問題,解決了類似的問題(在這種情況下,電子郵件沒有脫離接機目錄,在我的情況下,他們發送後一天左右)Need help setup windows server 2008 SMTP server但給出的答案是相當不完整的我無法檢查它是否也能解決我的問題。

這是我的代碼使用方法:

MailMessage mailMessage = new MailMessage(); 
mailMessage.To.Add(toEmail); 
mailMessage.From = new MailAddress(fromEmail); 
mailMessage.Subject = emailSubject; 
mailMessage.Body = emailBody; 
mailMessage.IsBodyHtml = true; 

SmtpClient smtpClient = new SmtpClient(); 
smtpClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis; 
smtpClient.Send(mailMessage); 
+2

可能是serverfault問題。 – Alfabravo

+0

如果它更適合serverfault,請不要投票結束我的問題。還有許多其他問題沒有在SO上關閉,與設置IIS SMTP服務器有關。將此問題標記爲serverfault,這對我和其他人更有幫助。 –

回答

0

您可以發佈您的代碼,發送電子郵件,或者至少可以確認它沒有覆蓋的IIS設置?是不同的SMTP屬性設置在不同的級別 - 可能在服務器和網站?

你可以嘗試這樣的事情,這應該允許SMTP服務立即發送,而不是存儲在拾取目錄的郵件:

var smtpClient = 
    new SmtpClient("127.0.0.1", 25) 
    { 
     UseDefaultCredentials = false 
    }; 
+0

我添加了代碼示例。您的代碼是否將「Network」設置爲「SmtpDeliveryMethod」?因爲「Network」設置對我的示例沒有效果。 –

相關問題