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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

MailKit帮助类

發(fā)布時間:2023/11/27 生活经验 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MailKit帮助类 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.


public
class EmailHelp{/// <summary>/// Smtp服務器地址/// </summary>private static readonly string SmtpServer = ConfigurationManager.AppSettings["SmtpServer"];/// <summary>/// Pop服務器地址/// </summary>private static readonly string PopServer = ConfigurationManager.AppSettings["PopServer"];/// <summary>/// Imap服務器地址/// </summary>private static readonly string ImapServer = ConfigurationManager.AppSettings["ImapServer"];/// <summary>/// SMTP端口/// </summary>private static readonly int SmtpPort = int.Parse(ConfigurationManager.AppSettings["SmtpPort"]);/// <summary>/// POP端口/// </summary>private static readonly int PopPort = int.Parse(ConfigurationManager.AppSettings["PopPort"]);/// <summary>/// IMAP端口/// </summary>private static readonly int ImapPort = int.Parse(ConfigurationManager.AppSettings["ImapPort"]);/// <summary>/// 郵件發(fā)送/// </summary>/// <param name="mailFromAccount">發(fā)送郵箱賬號</param>/// <param name="mailPassword">發(fā)送郵箱密碼</param>/// <param name="message">郵件</param>public static void SendEmali(string mailFromAccount, string mailPassword, MimeMessage message){using (var client = new MailKit.Net.Smtp.SmtpClient()){client.Connect(SmtpServer, SmtpPort, false);// Note: since we don't have an OAuth2 token, disable// the XOAUTH2 authentication mechanism.client.AuthenticationMechanisms.Remove("XOAUTH2");// Note: only needed if the SMTP server requires authentication client.Authenticate(mailFromAccount, mailPassword);client.Send(message);client.Disconnect(true);}}/// <summary>/// 創(chuàng)建文本消息/// </summary>/// <param name="fromAddress">發(fā)件地址</param>/// <param name="toAddressList">收件地址</param>/// <param name="title">標題</param>/// <param name="content">內(nèi)容</param>/// <param name="IsPostFiles">是否將POST上傳文件加為附件</param>/// <returns></returns>public static MimeMessage CreateTextMessage(MailboxAddress fromAddress, IList<MailboxAddress> toAddressList, string title, string content, bool IsPostFiles = false){var message = new MimeMessage();message.From.Add(fromAddress);message.To.AddRange(toAddressList);message.Subject = title; //設置消息的主題var html = new TextPart("html"){Text = content,};var alternative = new Multipart("alternative");alternative.Add(html);var multipart = new Multipart("mixed");multipart.Add(alternative);if (IsPostFiles){IList<MimePart> multiPartList = GetMimePartList();foreach (var item in multiPartList){multipart.Add(item);}}message.Body = multipart;return message;}/// <summary>/// 收郵件/// </summary>/// <param name="mailFromAccount">發(fā)送郵箱賬號</param>/// <param name="mailPassword">發(fā)送郵箱密碼</param>/// <param name="searchQuery">查詢條件</param>/// <param name="folderName">文件夾名稱</param>/// <returns></returns>public static IList<IMessageSummary> ReceiveEmail(string mailFromAccount, string mailPassword, string folderName, SearchQuery searchQuery = null){//打開收件箱var folder = OpenFolder(mailFromAccount, mailPassword, folderName);//IList<OrderBy> orderByList = new List<OrderBy> { OrderBy.Date };//查詢所有的郵件var uidss = folder.Search(searchQuery);IList<IMessageSummary> msgList = new List<IMessageSummary>();if (uidss.Count > 0)//判斷是否查詢到郵件 {//獲取郵件頭msgList = folder.Fetch(uidss, MessageSummaryItems.UniqueId | MessageSummaryItems.Full);}folder.Close();return msgList;}/// <summary>/// 根據(jù)唯一號查詢信件/// </summary>/// <param name="mailFromAccount">郵箱賬號</param>/// <param name="mailPassword">郵箱密碼</param>/// <param name="id">唯一號</param>/// <param name="folderName">文件夾名稱</param>/// <returns></returns>public static MimeMessage GetEmailByUniqueId(string mailFromAccount, string mailPassword, uint id, string folderName){//打開收件箱var folder = OpenFolder(mailFromAccount, mailPassword, folderName);UniqueId emailUniqueId = new UniqueId(id);MimeMessage message = folder.GetMessage(emailUniqueId);/*將郵件設為已讀*/MessageFlags flags = MessageFlags.Seen;folder.SetFlags(emailUniqueId, flags, true);return message;}/// <summary>/// 讀取上傳的文件/// </summary>/// <returns></returns>public static IList<MimePart> GetMimePartList(){IList<MimePart> mimePartList = new List<MimePart>();var current = HttpContext.Current;if (current != null){HttpRequest request = current.Request;HttpFileCollection files = request.Files;int filesCount = files.Count;for (int i = 0; i < filesCount; i++){HttpPostedFile item = files[i];MimePart attachment = new MimePart(item.ContentType){ContentObject = new ContentObject(item.InputStream, ContentEncoding.Default),ContentDisposition = new ContentDisposition(ContentDisposition.Attachment),ContentTransferEncoding = ContentEncoding.Base64,FileName = item.FileName};mimePartList.Add(attachment);}}return mimePartList;}/// <summary>/// 打開郵箱文件夾/// </summary>/// <param name="mailFromAccount">郵箱賬號</param>/// <param name="mailPassword">郵箱密碼</param>/// <param name="folderName">文件夾名稱(INBOX:收件箱名稱)</param>/// <returns></returns>public static IMailFolder OpenFolder(string mailFromAccount, string mailPassword, string folderName){ImapClient client = new ImapClient();client.Connect(ImapServer, ImapPort);client.Authenticate(mailFromAccount, mailPassword);//獲取所有文件夾//List<IMailFolder> mailFolderList = client.GetFolders(client.PersonalNamespaces[0]).ToList();var folder = client.GetFolder(folderName);//打開文件夾并設置為讀的方式 folder.Open(MailKit.FolderAccess.ReadWrite);return folder;}/// <summary>/// 下載郵件附件/// </summary>/// <param name="mimePart"></param>public static void DownFile(MimePart mimePart){HttpContext context = HttpContext.Current;// 設置編碼和附件格式context.Response.ContentType = mimePart.ContentType.ToString();//context.Response.ContentEncoding = Encoding.UTF8; context.Response.Charset = "";string fileName = HttpUtility.UrlEncode(mimePart.FileName, Encoding.UTF8);context.Response.AppendHeader("Content-Disposition","attachment;filename=" + fileName);using (MemoryStream ms = new MemoryStream()){mimePart.ContentObject.DecodeTo(ms);ms.Flush();ms.Position = 0;context.Response.BinaryWrite(ms.GetBuffer());context.Response.End();}}}

?

轉(zhuǎn)載于:https://www.cnblogs.com/tangchun/p/6950899.html

總結

以上是生活随笔為你收集整理的MailKit帮助类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。