在這裡我們主要是使用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。
希望對你有協助