C#使用System.Net.Mail類(lèi)實(shí)現(xiàn)郵件發(fā)送
有些 SMTP 服務(wù)器要求在代表客戶端發(fā)送電子郵件前驗(yàn)證客戶端的身份。當(dāng)此 SmtpClient 對(duì)象應(yīng)該使用當(dāng)前登錄用戶的默認(rèn)憑據(jù)進(jìn)行身份驗(yàn)證(如果服務(wù)器要求)時(shí),請(qǐng)將此屬性設(shè)置為 true。對(duì)于客戶端應(yīng)用程序,這是在大多數(shù)情況下都需要的行為。也可以使用應(yīng)用程序和計(jì)算機(jī)配置文件指定憑據(jù)信息。有關(guān)更多信息,請(qǐng)參見(jiàn) <mailSettings> 元素(網(wǎng)絡(luò)設(shè)置)。
如果 UseDefaultCredentials 屬性設(shè)置為 false,則連接到服務(wù)器時(shí)會(huì)將 Credentials 屬性中設(shè)置的值用作憑據(jù)。如果 UseDefaultCredentials 屬性設(shè)置為 false 并且尚未設(shè)置 Credentials 屬性,則將郵件以匿名方式發(fā)送到服務(wù)器。UseDefaultCredentials 的默認(rèn)值為false。
如果提供用于基本身份驗(yàn)證的憑據(jù),則憑據(jù)將以明文形式發(fā)送到服務(wù)器。這可能會(huì)產(chǎn)生安全問(wèn)題,因?yàn)閼{據(jù)可以被他人看見(jiàn)從而加以利用。但是向163的郵箱發(fā)送郵件是必須要帶上發(fā)送者的憑據(jù)信息,否則郵件是發(fā)送不出去的。
SmtpClient也可以這樣建立:SmtpClient client=new SmtpClient(smtp_server),因?yàn)猷]件發(fā)送服務(wù)器的默認(rèn)端口是25。
1、QQ郵箱向163郵箱發(fā)送郵件
private static void TimeEvent(object source, ElapsedEventArgs e)
{
string smtp_server="smtp.qq.com";
int port = 25;
string mail_from = "***from_mail_username***@qq.com";
string sender = "***from_mail_username***";
string mail_to = "***to_mail_username***@163.com";
string receiver = "***to_mail_username***@";
string subject = "Title Test"
string body = "Content Test";
try
{
SendEmail(smtp_server, port, mail_from, sender, mail_to, receiver, subject, body);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
public static void SendEmail(string smtp_server, int port, string mail_from, string sender, string mail_to, string receiver, string subject, string body)
{
MailAddress from = new MailAddress(mail_from, sender);
MailAddress to = new MailAddress(mail_to, receiver);
MailMessage message = new MailMessage(from, to);
message.BodyEncoding = Encoding.UTF8;
message.IsBodyHtml = true;
message.Subject = subject;
message.Body = body;
SmtpClient client = new SmtpClient(smtp_server, port);
client.Credentials = new NetworkCredential("***from_mail_username***@qq.com", "***pwd***");
client.Send(message);
}2、163郵箱向163郵箱發(fā)送郵件
private static void TimeEvent(object source, ElapsedEventArgs e)
{
string smtp_server="smtp.163.com";
int port = 25;
string mail_from = "***from_mail_username***@163.com";
string sender = "***from_mail_username***";
string mail_to = "***to_mail_username***@163.com";
string receiver = "***to_mail_username***";
string subject = "Title Test"
string body = "Content Test";
try
{
SendEmail(smtp_server, port, mail_from, sender, mail_to, receiver, subject, body);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
public static void SendEmail(string smtp_server, int port, string mail_from, string sender, string mail_to, string receiver, string subject, string body)
{
MailAddress from = new MailAddress(mail_from, sender);
MailAddress to = new MailAddress(mail_to, receiver);
MailMessage message = new MailMessage(from, to);
message.BodyEncoding = Encoding.UTF8;
message.IsBodyHtml = true;
message.Subject = subject;
message.Body = body;
SmtpClient client = new SmtpClient(smtp_server);
client.Credentials = new NetworkCredential("***from_mail_username***@163.com", "***pwd***");
client.Send(message);
}3、163郵箱向QQ郵箱發(fā)送郵件
private static void TimeEvent(object source, ElapsedEventArgs e)
{
string smtp_server="smtp.163.com";
int port = 25;
string mail_from = "***from_mail_username***@163.com";
string sender = "***from_mail_username***";
string mail_to = "***to_mail_username***@qq.com";
string receiver = "***to_mail_username***";
string subject = "Title Test"
string body = "Content Test";
try
{
SendEmail(smtp_server, port, mail_from, sender, mail_to, receiver, subject, body);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
public static void SendEmail(string smtp_server, int port, string mail_from, string sender, string mail_to, string receiver, string subject, string body)
{
MailAddress from = new MailAddress(mail_from, sender);
MailAddress to = new MailAddress(mail_to, receiver);
MailMessage message = new MailMessage(from, to);
message.BodyEncoding = Encoding.UTF8;
message.IsBodyHtml = true;
message.Subject = subject;
message.Body = body;
SmtpClient client = new SmtpClient(smtp_server);
client.Credentials = new NetworkCredential("***from_mail_username***@163.com", "***pwd***");
client.Send(message);
}4、QQ郵箱向QQ郵箱發(fā)送郵件
private static void TimeEvent(object source, ElapsedEventArgs e)
{
string smtp_server="smtp.qq.com";
int port = 25;
string mail_from = "***from_mail_username***@qq.com";
string sender = "***from_mail_username***";
string mail_to = "***to_mail_username***@qq.com";
string receiver = "***to_mail_username***";
string subject = "Title Test"
string body = "Content Test";
try
{
SendEmail(smtp_server, port, mail_from, sender, mail_to, receiver, subject, body);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
public static void SendEmail(string smtp_server, int port, string mail_from, string sender, string mail_to, string receiver, string subject, string body)
{
MailAddress from = new MailAddress(mail_from, sender);
MailAddress to = new MailAddress(mail_to, receiver);
MailMessage message = new MailMessage(from, to);
message.BodyEncoding = Encoding.UTF8;
message.IsBodyHtml = true;
message.Subject = subject;
message.Body = body;
SmtpClient client = new SmtpClient(smtp_server);
client.Credentials = new NetworkCredential("***from_mail_username***@qq.com", "***pwd***");
client.Send(message);
}到此這篇關(guān)于C#使用System.Net.Mail類(lèi)實(shí)現(xiàn)郵件發(fā)送的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#中math類(lèi)的全部運(yùn)算方法(總結(jié))
下面小編就為大家?guī)?lái)一篇C#中math類(lèi)的全部運(yùn)算方法(總結(jié))。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09
.NET中的靜態(tài)與非靜態(tài)的區(qū)別分析
.NET中的靜態(tài)與非靜態(tài)的區(qū)別分析,需要的朋友可以參考一下2013-03-03
DevExpress根據(jù)條件設(shè)置GridControl RepositoryItem是否可編輯
這篇文章主要介紹了DevExpress根據(jù)條件設(shè)置GridControl RepositoryItem是否可編輯,需要的朋友可以參考下2014-08-08
C#實(shí)現(xiàn)HTTP訪問(wèn)類(lèi)HttpHelper的示例詳解
在項(xiàng)目開(kāi)發(fā)過(guò)程中,我們經(jīng)常會(huì)訪問(wèn)第三方接口,如我們需要接入的第三方接口是Web API,這時(shí)候我們就需要使用HttpHelper調(diào)用遠(yuǎn)程接口了。本文為大家介紹了C#實(shí)現(xiàn)HTTP訪問(wèn)類(lèi)HttpHelper的示例代碼,需要的可以參考一下2022-09-09
C# 正則判斷一個(gè)數(shù)字的格式是否有逗號(hào)的代碼
c#正則判斷一個(gè)格式化數(shù)字里是否有逗號(hào)的解決方法2008-07-07
使用GPS經(jīng)緯度定位附近地點(diǎn)(某一點(diǎn)范圍內(nèi)查詢)
目前的工作是需要手機(jī)查找附近N米以內(nèi)的商戶,致想法是已知一個(gè)中心點(diǎn),一個(gè)半徑,求圓包含于圓拋物線里所有的點(diǎn),經(jīng)緯度是一個(gè)點(diǎn),半徑是一個(gè)距離,不能直接加減,下面提供C#的解決方法2013-12-12
C#中JSON轉(zhuǎn)為實(shí)體類(lèi)和List以及結(jié)合使用
開(kāi)發(fā)中經(jīng)常遇到將JSON字符串轉(zhuǎn)換為L(zhǎng)ist的需求,下面這篇文章主要給大家介紹了關(guān)于C#中JSON轉(zhuǎn)為實(shí)體類(lèi)和List以及結(jié)合使用的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01
C# 獲取動(dòng)態(tài)key的json對(duì)象的值案例
這篇文章主要介紹了C# 獲取動(dòng)態(tài)key的json對(duì)象的值案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01

