C#實(shí)現(xiàn)發(fā)送郵件的方法
更新時間:2017年09月13日 13:13:54 作者:高軟玩家
這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)發(fā)送郵件的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了Android九宮格圖片展示的具體代碼,供大家參考,具體內(nèi)容如下
#region 發(fā)送郵件部分
private static String fromMail = "1111@126.com"; ///郵箱名稱
private static String mailPwd = "111111"; ///密碼
private static string toMail = "2222@163.com"; ///郵箱服務(wù)器
private static string fileStr;//當(dāng)前圖片路徑,在添加附件時用
/// <summary>
/// 發(fā)送郵件
/// </summary>
/// <param name="fileUrl">附件地址,以~分</param>
/// <param name="screen">是否發(fā)送截屏</param>
/// <returns></returns>
public static string SendMail(string fileUrl, string screen)
{
MailAddress from = new MailAddress(fromMail);
MailAddress to = new MailAddress(toMail);
MailMessage message = new MailMessage(from, to);
message.Subject = "M郵件 " +11111;//主題
message.SubjectEncoding = System.Text.Encoding.UTF8;
Attachment attachFile = new Attachment(fileStr);
if (screen == "True")
message.Attachments.Add(attachFile);
string[] files = fileUrl.Split('~');
for (int i = 0; i < files.Length; i++)
{
if (File.Exists(files[i]))
{
Attachment attachFile1 = new Attachment(fileUrl);
message.Attachments.Add(attachFile1);
}
}
try
{
SmtpClient client = new SmtpClient("smtp." + from.Host);
SendMail(client, from, mailPwd, to, message);
return "發(fā)送郵件成功!包含附件:" + fileUrl + " 含截圖?" + screen + " " + DateTime.Now.ToString();
}
catch (SmtpException ex)
{
//如果錯誤原因是沒有找到服務(wù)器,則嘗試不加smtp.前綴的服務(wù)器
if (ex.StatusCode == SmtpStatusCode.GeneralFailure)
{
try
{
//有些郵件服務(wù)器不加smtp.前綴
SmtpClient client = new SmtpClient(from.Host);
SendMail(client, from, mailPwd, to, message);
return "發(fā)送郵件成功!包含附件:" + fileUrl + " 含截圖?" + screen + " " + DateTime.Now.ToString();
}
catch (SmtpException err)
{
return "發(fā)送郵件失敗!" + err.Message + " " + DateTime.Now.ToString();
}
}
else
{
return "發(fā)送郵件失敗!" + ex.Message + " " + DateTime.Now.ToString();
}
}
}
//根據(jù)指定的參數(shù)發(fā)送郵件
private static void SendMail(SmtpClient client, MailAddress from, string password,
MailAddress to, MailMessage message)
{
//不使用默認(rèn)憑證,注意此句必須放在client.Credentials的上面
client.UseDefaultCredentials = false;
//指定用戶名、密碼
client.Credentials = new NetworkCredential(from.Address, password);
//郵件通過網(wǎng)絡(luò)發(fā)送到服務(wù)器
client.DeliveryMethod = SmtpDeliveryMethod.Network;
try
{
client.Send(message);
}
catch
{
throw;
}
finally
{
//及時釋放占用的資源
message.Dispose();
}
}
#endregion
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C# char類型字符轉(zhuǎn)換大小寫的實(shí)現(xiàn)代碼
以下是對C#中char類型字符轉(zhuǎn)換大小寫的示例代碼進(jìn)行了介紹,需要的朋友可以過來參考下哦2013-07-07
C#中將UTC時間轉(zhuǎn)換為JST時間的實(shí)現(xiàn)方法
在C#中,將UTC時間轉(zhuǎn)換為JST(日本標(biāo)準(zhǔn)時間,即UTC+9)時間可以通過使用 DateTime 和 TimeZoneInfo 類來實(shí)現(xiàn),JST比UTC快9小時,因此可以直接進(jìn)行轉(zhuǎn)換,本文將通過代碼示例給大家介紹C#中將UTC時間轉(zhuǎn)換為JST時間,需要的朋友可以參考下2025-01-01
詳解Unity使用ParticleSystem粒子系統(tǒng)模擬藥水在血管中流動(粒子碰撞)
這篇文章主要介紹了Unity使用ParticleSystem粒子系統(tǒng)模擬藥水在血管中流動(粒子碰撞),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-05-05
c#多線程中Lock()關(guān)鍵字的用法小結(jié)
本篇文章主要是對c#多線程中Lock()關(guān)鍵字的用法進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-01-01
C#面向?qū)ο髮?shí)現(xiàn)圖書管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C#面向?qū)ο髮?shí)現(xiàn)圖書管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02

