程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> 使用SmtpClient發送郵件的方法

使用SmtpClient發送郵件的方法

編輯:C#基礎知識

程序是這樣的:

代碼如下:

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();
}

這次的嘗試花費了不少的時間,希望其它人看到這篇文章後能夠有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved