大家都知道C#中的System.Net.Mail.SmtpClient類是專門用來請求SMTP服務器發送郵件的,但是如果使用本地的SMTP服務器(比如本機IIS的SMTP服務器)發送郵件,會被許多大型網站的郵箱當做垃圾郵件來處理,原因是本地SMTP服務器的地址並不為人所知,發送的郵件理所當然會被當做來歷不明的郵件,所以我們要借助一些大型知名網站的SMTP服務器來為我們發送郵件,這里就向大家介紹使用163的SMTP服務器發送郵件的方法。
PS:使用163的SMTP服務器發送郵件會使得你開發系統所發送的郵件都使用163的郵箱地址作為發信人的地址,但是我認為這總比把郵件每次都發送到用戶的垃圾郵件箱要強,因為如果你發送的郵件全是垃圾郵件,用戶可能根本就不會去看你發送的是什么,就把郵件刪掉了,這才是最糟糕的....
下面我們來看看代碼:
System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();
client.Host = "smtp.163.com";//使用163的SMTP服務器發送郵件
client.UseDefaultCredentials = true;
client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
client.Credentials = new System.Net.NetworkCredential("abc", "*******");//163的SMTP服務器需要用163郵箱的用戶名和密碼作認證,如果沒有需要去163申請個,
//這里假定你已經擁有了一個163郵箱的賬戶,用戶名為abc,密碼為*******
System.Net.Mail.MailMessage Message = new System.Net.Mail.MailMessage();
Message.From = new System.Net.Mail.MailAddress("abc@163.com");//這里需要注意,163似乎有規定發信人的郵箱地址必須是163的,而且發信人的郵箱用戶名必須和上面SMTP服務器認證時的用戶名相同
//因為上面用的用戶名abc作SMTP服務器認證,所以這里發信人的郵箱地址也應該寫為abc@163.com
Message.To.Add("123456@gmail.com");//將郵件發送給Gmail
Message.To.Add("123456@qq.com");//將郵件發送給QQ郵箱
Message.Subject = "測試標體";
Message.Body = "測試郵件體";
Message.SubjectEncoding = System.Text.Encoding.UTF8;
Message.BodyEncoding = System.Text.Encoding.UTF8;
Message.Priority = System.Net.Mail.MailPriority.High;
Message.IsBodyHtml = true;
client.Send(Message);
client.Host = "smtp.163.com";//使用163的SMTP服務器發送郵件
client.UseDefaultCredentials = true;
client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
client.Credentials = new System.Net.NetworkCredential("abc", "*******");//163的SMTP服務器需要用163郵箱的用戶名和密碼作認證,如果沒有需要去163申請個,
//這里假定你已經擁有了一個163郵箱的賬戶,用戶名為abc,密碼為*******
System.Net.Mail.MailMessage Message = new System.Net.Mail.MailMessage();
Message.From = new System.Net.Mail.MailAddress("abc@163.com");//這里需要注意,163似乎有規定發信人的郵箱地址必須是163的,而且發信人的郵箱用戶名必須和上面SMTP服務器認證時的用戶名相同
//因為上面用的用戶名abc作SMTP服務器認證,所以這里發信人的郵箱地址也應該寫為abc@163.com
Message.To.Add("123456@gmail.com");//將郵件發送給Gmail
Message.To.Add("123456@qq.com");//將郵件發送給QQ郵箱
Message.Subject = "測試標體";
Message.Body = "測試郵件體";
Message.SubjectEncoding = System.Text.Encoding.UTF8;
Message.BodyEncoding = System.Text.Encoding.UTF8;
Message.Priority = System.Net.Mail.MailPriority.High;
Message.IsBodyHtml = true;
client.Send(Message);