C#使用System.Net.Mail類實(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類實(shí)現(xiàn)郵件發(fā)送的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#中實(shí)現(xiàn)PriorityQueue優(yōu)先級(jí)隊(duì)列的代碼
這篇文章主要介紹了C#中PriorityQueue優(yōu)先級(jí)隊(duì)列的實(shí)現(xiàn),構(gòu)造初始化這部分主要介紹關(guān)鍵的字段和方法,比較器的初始化以及堆的初始化,需要的朋友可以參考下2021-12-12
基于XSLT調(diào)試的相關(guān)問(wèn)題
本篇文章是對(duì)XSLT調(diào)試的相關(guān)問(wèn)題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
C# HttpClient Post參數(shù)同時(shí)上傳文件的實(shí)現(xiàn)
這篇文章主要介紹了C# HttpClient Post參數(shù)同時(shí)上傳文件的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06
Unity3D實(shí)現(xiàn)射線使物體移動(dòng)
這篇文章主要為大家詳細(xì)介紹了Unity3D實(shí)現(xiàn)射線使物體移動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-12-12
c#求點(diǎn)到直線的投影點(diǎn)坐標(biāo)
這篇文章主要介紹了c#求直線外一點(diǎn)到該直線的投影點(diǎn),大家參考使用吧2013-12-12
C# 運(yùn)用params修飾符來(lái)實(shí)現(xiàn)變長(zhǎng)參數(shù)傳遞的方法
一般來(lái)說(shuō),參數(shù)個(gè)數(shù)都是固定的,定義為集群類型的參數(shù)可以實(shí)現(xiàn)可變數(shù)目參數(shù)的目的,但是.NET提供了更靈活的機(jī)制來(lái)實(shí)現(xiàn)可變數(shù)目參數(shù),這就是使用params修飾符2013-09-09
Unity?Shader編輯器工具類ShaderUtil?常用函數(shù)和用法實(shí)例詳解
Unity的Shader編輯器工具類ShaderUtil提供了一系列函數(shù),用于編譯、導(dǎo)入和管理著色器,這篇文章主要介紹了Unity?Shader編輯器工具類ShaderUtil?常用函數(shù)和用法,需要的朋友可以參考下2023-08-08
基于動(dòng)態(tài)修改App.Config與web.Config的使用詳解
本篇文章是對(duì)動(dòng)態(tài)修改App.Config與web.Config的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05

