程序是這樣的:
代碼如下:
static void Main(string[] args)
{
SmtpClient client = new SmtpClient();
client.Host = "localhost";
MailAddress from = new MailAddress("[email protected]");
MailAddress to = new MailAddress("[email protected]");
MailMessage message = new MailMessage(from, to);
client.Send(message);
Console.ReadLine();
}
當運行時會報“由於目標計算機積極拒絕,無法連接。”的錯誤。查了一下據說是SMTP服務沒有啟動。於是在網上找到了設置的方法,控制面板-〉程序 和功能-〉打開或關閉Windows功能-〉Internet信息服務-〉應用程序開發功能-〉.NET擴展性,把這一項勾上。然後在IIS管理器中就會 出現SMTP電子郵件一項。試著在其中做相關的設定之後,結果還是同樣的錯誤。
又研究了一下,原來Windows 7中的IIS7已經移除了SMTP服務,所以無論如何設置,都是徒勞無用的。(這裡有相關的討論)
解決的辦法是安裝第三方的SMTP服務器。比如免費的Free SMTP Server。
裝完之後無需任何設置,啟動SMTP服務器,再運行上面的程序,一切正常。
如果想用網易等第三方SMTP服務器來發送郵件,也很簡單。代碼稍作修改:
代碼如下:
static void Main(string[] args)
{
SmtpClient client = new SmtpClient();
client.Host = "smtp.163.com";
client.Credentials = new NetworkCredential("usenme", "password");//必須設置
MailAddress from = new MailAddress("[email protected]");
MailAddress to = new MailAddress("[email protected]");
MailMessage message = new MailMessage(from, to);
client.Send(message);
Console.ReadLine();
}
這次的嘗試花費了不少的時間,希望其它人看到這篇文章後能夠有所幫助。