使用SmtpClient發(fā)送郵件的方法
更新時間:2013年03月07日 10:47:30 作者:
本來想試試用SmtpClient來做一個簡單的發(fā)送郵件的Demo程序。卻不想在中途遇上了意料之外的事情,使得這次試驗過程變得有些曲折。
程序是這樣的:
復(fù)制代碼 代碼如下:
static void Main(string[] args)
{
SmtpClient client = new SmtpClient();
client.Host = "localhost";
MailAddress from = new MailAddress("from@test.com");
MailAddress to = new MailAddress("to@test.com");
MailMessage message = new MailMessage(from, to);
client.Send(message);
Console.ReadLine();
}
當(dāng)運行時會報“由于目標(biāo)計算機積極拒絕,無法連接。”的錯誤。查了一下?lián)f是SMTP服務(wù)沒有啟動。于是在網(wǎng)上找到了設(shè)置的方法,控制面板-〉程序 和功能-〉打開或關(guān)閉Windows功能-〉Internet信息服務(wù)-〉應(yīng)用程序開發(fā)功能-〉.NET擴展性,把這一項勾上。然后在IIS管理器中就會 出現(xiàn)SMTP電子郵件一項。試著在其中做相關(guān)的設(shè)定之后,結(jié)果還是同樣的錯誤。
又研究了一下,原來Windows 7中的IIS7已經(jīng)移除了SMTP服務(wù),所以無論如何設(shè)置,都是徒勞無用的。(這里有相關(guān)的討論)
解決的辦法是安裝第三方的SMTP服務(wù)器。比如免費的Free SMTP Server。
裝完之后無需任何設(shè)置,啟動SMTP服務(wù)器,再運行上面的程序,一切正常。
如果想用網(wǎng)易等第三方SMTP服務(wù)器來發(fā)送郵件,也很簡單。代碼稍作修改:
復(fù)制代碼 代碼如下:
static void Main(string[] args)
{
SmtpClient client = new SmtpClient();
client.Host = "smtp.163.com";
client.Credentials = new NetworkCredential("usenme", "password");//必須設(shè)置
MailAddress from = new MailAddress("from@163.com");
MailAddress to = new MailAddress("to@test.com");
MailMessage message = new MailMessage(from, to);
client.Send(message);
Console.ReadLine();
}
這次的嘗試花費了不少的時間,希望其它人看到這篇文章后能夠有所幫助。
相關(guān)文章
C#中泛型容器Stack<T>的用法并實現(xiàn)”撤銷/重做”功能
這篇文章介紹了C#中泛型容器Stack<T>的用法并實現(xiàn)”撤銷/重做”功能,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-10-10