日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

.NET(C#):使用SmtpClient发送带有图片和附件的电子邮件

發布時間:2023/12/18 C# 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET(C#):使用SmtpClient发送带有图片和附件的电子邮件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第一次使用這種方式發郵件呵呵,就比如拿我的Live郵箱往QQ郵箱上發一封郵件。

使用SmtpClient發送郵件的步驟就不講了,在網上你可以找到太多的資料了,這里說一些需要注意的地方:

如果郵件的內容是HTML,設置MailMessage.IsBodyHtml為True,這樣郵件才能夠被正確以HTML形式讀取。

在HTML中引用資源使用cid:xxx,xxx是附件的ContentId屬性。同時也可以在MailMessage中的AlternateViews中加入AlternateView來指定電子郵件內容的不同格式。通過AlternativeView的LinkedResources來加入引用文件。引用也是通過LinkedResource的ContentId來設置的。事實上這個ContentId屬性是來自AttachmentBase類型,而Attachment,AlternateView和LinkedResource類型都繼承與這個類:

另外郵件的內容,主題,地址名稱如果包含某些非ASCII字符的話應該指定一個編碼,因為默認編碼是ASCII。

最后某些SMTP服務器可能不支持SSL傳輸,因此SmtpClient的EnableSsl只能為false(否則會有異常拋出)。

代碼:

using System;

using System.Text;

using System.Net;

using System.Net.Mime;

using System.Net.Mail;

namespace Mgen

{

class Program

{

static void Main()

{

//代碼中的某些信息(如郵箱和密碼)已用xxx代替,因此如果編譯代碼,請先替換成有效的數據!

using (var smtp = new SmtpClient())

using (var mail = new MailMessage("xxx@live.com", "xxx@qq.com"))

{

//圖像附件

var attach = new Attachment(@"D:\a.jpg", MediaTypeNames.Image.Jpeg);

//設置ContentId

attach.ContentId = "pic";

//ZIP附件

var attach2 = new Attachment(@"D:\b.zip", "application/x-zip-compressed");

mail.Attachments.Add(attach);

mail.Attachments.Add(attach2);

//標題和內容,注意設置編碼,因為默認編碼是ASCII

mail.Subject = "你好";

mail.SubjectEncoding = Encoding.UTF8;

//HTML內容

mail.Body = "<img src=\"cid:pic\"/><p>來自Mgen。</p>";

mail.BodyEncoding = Encoding.UTF8;

//指示改電子郵件內容是HTML格式

mail.IsBodyHtml = true;

//SMTP設置(根據郵箱類型設置,這里是Live Mail的SMTP服務器地址)

smtp.Host = "smtp.live.com";

smtp.UseDefaultCredentials = false;

//某些SMTP服務器可能不支持SSL,會拋出異常

smtp.EnableSsl = true;

smtp.Credentials = new NetworkCredential("xxx@live.com", "xxx");

smtp.DeliveryMethod = SmtpDeliveryMethod.Network;

//發送

smtp.Send(mail);

}

}

}

}

最后在QQ郵箱中瀏覽接收到的郵件:

?

總結

以上是生活随笔為你收集整理的.NET(C#):使用SmtpClient发送带有图片和附件的电子邮件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。