کتابخانه ایجاد و تجزیه .NET MIME منبع باز
NET MIME ایجاد و کتابخانه تجزیهکننده برای رمزگذاری، رمزگشایی، و امضای پیام و همچنین تأیید امضاهای دیجیتال با استفاده از استانداردهای S/MIME یا OpenPGP.
MimeKit یک کتابخانه C#.NET منبع باز است که به توسعه دهندگان نرم افزار امکان می دهد پیام های ایمیل را با استفاده از افزونه ایمیل چند منظوره اینترنتی (MIME) ایجاد و تجزیه کنند. دلیل اصلی توسعه پروژه این بود که احساس می شد اکثر نرم افزارهای سرویس گیرنده ایمیل (و سرور) پیاده سازی MIME کمتر از رضایت بخشی داشتند. اغلب اوقات این سرویس گیرندگان ایمیل به اشتباه سعی می کنند یک پیام MIME را تجزیه کنند و بنابراین نمی توانند از مزایای کامل MIME برخوردار شوند.
هدف اصلی پروژه MimeKit پرداختن به همه این مسائل با نزدیکترین فاصله ممکن و در عین حال برای برنامه نویسان کامپیوتر یک API سطح بالا بسیار آسان برای استفاده فراهم می کند. نکته مهم در مورد کتابخانه این است که با تمام راه حل های موجود سریعتر است. حتی برخی از تجزیه کننده های تجاری MIME حتی به عملکرد MimeKit همخوانی ندارند.
شروع کار با MimeKit
ساده ترین راه برای نصب MimeKit از طریق NuGet است. در کنسول Package Manager ویژوال استودیو دستور زیر را وارد کنید
با استفاده از pip می توانید آن را نصب کنید.
از طریق NuGet نصب کنید
Install-Package MimeKit
از طریق GitHub نصب کنید
git clone --recursive https://github.com/jstedfast/MailKit.git
NET API برای ایجاد پیام های جدید
کتابخانه MailKit API منبع باز به توسعه دهندگان نرم افزار امکان می دهد پیام های MIME را با چند دستور ساده ایجاد کنند. یک TextPart یک بخش MIME با گره برگ با نوع رسانه متنی است. اولین آرگومان سازنده TextPart، زیرنوع رسانه، در این مورد، ساده را مشخص میکند. یکی دیگر از زیرمجموعه های رسانه ای که احتمالاً با آن آشنا هستید، زیرگروه HTML است. ساده ترین راه برای دریافت و تنظیم محتوای رشته قسمت MIME، ویژگی Text است.
API منبع باز برای ایجاد پیام - C#
var message = new MimeMessage();
message.From.Add(new MailboxAddress("fred", "This email address is being protected from spam-bots. You need JavaScript enabled to view it."));
message.To.Add(new MailboxAddress("frans", "This email address is being protected from spam-bots. You need JavaScript enabled to view it."));
message.Subject = "FileFormat ";
message.Body = new TextPart("plain")
{
Text = "File Format Developer Guide"
};
ایجاد پیام با پیوست ها با استفاده از NET API
MailKit API ویژگی هایی را برای ایجاد پیام با پیوست ها در داخل برنامه های NET فراهم می کند. پیوستها مانند هر MimePart دیگری هستند، تفاوت اصلی آنها در این است که آنها حاوی یک سرصفحه content-disposition هستند که مقدار پیوست را نگه میدارد بهجای اینکه هدر درون خطی یا اصلاً هدر Content-Disposition وجود نداشته باشد. برای ارسال هر دو متن/HTML و متن/نسخه ساده پیام، باید برای هر قسمت یک TextPart ایجاد کنید و سپس آنها را به چند قسمتی/جایگزین اضافه کنید.
ایجاد پیوست های ایمیل رایگان با استفاده از C#
var message = new MimeMessage();
message.From.Add(new MailboxAddress("fred", "This email address is being protected from spam-bots. You need JavaScript enabled to view it."));
message.To.Add(new MailboxAddress("frans", "This email address is being protected from spam-bots. You need JavaScript enabled to view it."));
message.Subject = "FileFormat";
var path = "image.png";
var body = message.Body = new TextPart("plain")
{
Text = "File Format Developer Guide"
};
// create an image attachment for the file located at path
var attachment = new MimePart("image", "gif")
{
Content = new MimeContent(File.OpenRead(path), ContentEncoding.Default),
ContentDisposition = new ContentDisposition(ContentDisposition.Attachment),
ContentTransferEncoding = ContentEncoding.Base64,
FileName = System.IO.Path.GetFileName(path)
};
// now create the multipart/mixed container to hold the message text and the
// image attachment
var multipart = new Multipart("mixed")
{
body,
attachment
};
// now set the multipart/mixed as the message body
message.Body = multipart;
رمزگذاری یا رمزگشایی پیام ها با S/MIME
API منبع باز MailKit ویژگی هایی را برای رمزگذاری پیام ها با استفاده از زمینه رمزنگاری S/MIME ارائه می دهد. S/MIME از بخش MIME application/pkcs7-mime برای کپسوله کردن محتوای رمزگذاری شده استفاده می کند. متن پیام را با متن پیام و چند پیوست تصویر ایجاد کنید. پس از آن، می توانید متن پیام را با استفاده از زمینه رمزنگاری سفارشی S/MIME رمزگذاری کنید.