在這裡我們主要是使用Gmail,究其原因,是因為,我在使用Gmail的郵箱發送郵件的時候,遇到一小小的困難,而使用163等郵箱的時候,沒遇到這個問題。
在ASP.NET2.0中,發送郵件是很簡單的,我們主要使用來自命名空間System.Net.Mail中的幾個類,MailMessage和SmtpClient。
核心代碼是很簡潔的,如下:
復制代碼 代碼如下:
string to = "這裡填寫接收者的Email地址";
string from = "這裡填寫發送者的Email地址";
string subject = "這裡寫郵件的主題";
string body = @"這裡寫郵件的內容";
MailMessage message = new MailMessage(from, to, subject, body);
//SmtpClient client = new SmtpClient("smtp.gmail.com", 465);
SmtpClient client = new SmtpClient("smtp.gmail.com", 587);
client.Credentials = new NetworkCredential("Gmail帳戶", "Gmail密碼");
client.EnableSsl = true;
client.Send(message);
如代碼所示,這發送Email是一件很簡單的事情。這裡特別提出來,是因為有幾個小地方,是值得留心的,不然,就會覺得莫名其妙了。
首先,用於發送Email的Gmail帳戶,需要把POP功能打開。
其次,注意Gmail所使用的端口號,有465和587兩個(有沒有其他的,我就沒去仔細調查,如有遺漏,請海涵)。按照Gmail的說明文檔,我一開始是使用465端口的,總是超時,郵件不能成功發送。但是,我使用outlook的時候,也是使用465端口,可以成功發送和接收郵件。這就把我弄糊塗了。晃悠了一圈以後,得到一個新的端口號,587。在ASP.NET裡,我們使用587端口,是可以成功發送郵件的。想不明白,為什麼Gmail的說明文檔裡,僅僅是提到了465,而忽略了587。
希望對你有幫助