2012-09-14 41 views
0

我試圖從機器(Windows 7)發送郵件,該機器沒有IIS服務器和郵件服務器,但本機連接到局域網。我們真的需要IIS服務器來發送郵件與本地主機。請幫我理解localhost的概念,使用「localhost」作爲SMTP服務器需要什麼前提條件。 我試過用Gmail SMTP主機,它工作正常,沒有任何問題。在C#中使用localhaost發送Sendmail時出現錯誤消息「發送郵件失敗」

這裏是我的代碼:

SmtpClient client = new SmtpClient();    
client.Host = "localhost";     
client.Port = 25; 
client.EnableSsl = true; 
client.Credentials = new System.Net.NetworkCredential("Admin", "password"); 
client.UseDefaultCredentials = false;    
try 
{ 
client.Send(mail); 
} 
catch (Exception ex) 
{ 
logger.LogInfo(ex.Message); 
} 

感謝, 公司的尼克戴爾文

回答

0

您可以安裝Smtp4Dev

如果你只是想測試,那麼你可以用它來幫助模擬。

如果我記得很清楚SMTP是從最新版本的IIS中剝離出來的,所以您需要另外找到其他工具。

0

要發送電子郵件,您需要一個SMTP服務器程序。你有一個本地的(即「本地主機」,並且有一個內置於IIS的你),或者你連接到遠程服務器。

如果您不喜歡IIS的想法,我確定您可以使用其他SMTP服務器,但如果您希望本地發送,則需要使用某些服務器。

+0

感謝皮特..你可以分享,我可以使用SMTP服務器的細節發送郵件。 –

+0

因爲我一直使用iis,所以沒有任何個人經驗。然而谷歌上的流行音樂的頂部帶你回到這個網站... http://stackoverflow.com/questions/30076/need-a-lightweight-free-windows-smtp-server – PeteH

0

你不需要SMTP服務器,你可以存儲在文件系統中的郵件,請將您的發展的web.config這樣的:

<system.net> 
    <mailSettings> 
    <smtp deliveryMethod="SpecifiedPickupDirectory"> 
     <specifiedPickupDirectory 
      pickupDirectoryLocation="w:\razvoj\TestAndBuild\UnitTestMailSend" /> 
    </smtp> 
    </mailSettings> 
</system.net>