โอเพ่นซอร์ส .NET MIME การสร้างและการแยกวิเคราะห์ไลบรารี
.NET MIME Creation และ Parser Library สำหรับการเข้ารหัสข้อความ การถอดรหัส และการลงนาม ตลอดจนการตรวจสอบลายเซ็นดิจิทัลโดยใช้มาตรฐาน S/MIME หรือ OpenPGP
MimeKit เป็นไลบรารีโอเพ่นซอร์ส C# .NET ที่ช่วยให้นักพัฒนาซอฟต์แวร์สามารถสร้างและแยกวิเคราะห์ข้อความอีเมลโดยใช้ Multipurpose Internet Mail Extension (MIME) เหตุผลหลักเบื้องหลังการพัฒนาโครงการคือ รู้สึกว่าซอฟต์แวร์ไคลเอนต์อีเมล (และเซิร์ฟเวอร์) ส่วนใหญ่มีการใช้งาน MIME ที่ไม่น่าพอใจ ส่วนใหญ่แล้ว โปรแกรมรับส่งเมลเหล่านี้จะพยายามแยกวิเคราะห์ข้อความ MIME อย่างไม่ถูกต้อง ดังนั้นจึงไม่สามารถรับประโยชน์เต็มที่จาก MIME ได้
เป้าหมายหลักของโครงการ MimeKit คือการแก้ไขปัญหาเหล่านี้ให้ใกล้เคียงที่สุดเท่าที่จะเป็นไปได้ และในขณะเดียวกันก็ช่วยให้โปรแกรมเมอร์คอมพิวเตอร์มี API ระดับสูงที่ใช้งานง่ายอย่างมาก สิ่งที่ยอดเยี่ยมเกี่ยวกับไลบรารี่คือมันเร็วกว่ามากด้วยโซลูชันที่มีทั้งหมด แม้แต่ตัวแยกวิเคราะห์ MIME เชิงพาณิชย์บางตัวก็ไม่ได้ใกล้เคียงกับประสิทธิภาพของ MimeKit ด้วยซ้ำ
เริ่มต้นใช้งาน MimeKit
วิธีที่ง่ายที่สุดในการติดตั้ง MimeKit คือผ่าน NuGet ใน Package Manager Console ของ Visual Studio ให้ป้อนคำสั่งต่อไปนี้
คุณสามารถติดตั้งโดยใช้ pip
ติดตั้งผ่าน NuGet
Install-Package MimeKit
ติดตั้งผ่าน GitHub
git clone --recursive https://github.com/jstedfast/MailKit.git
.NET API เพื่อสร้างข้อความใหม่
ไลบรารี Open Source API MailKit ช่วยให้นักพัฒนาซอฟต์แวร์สร้างข้อความ MIME ด้วยคำสั่งง่ายๆ ไม่กี่คำสั่ง TextPart คือส่วน MIME ของโหนดปลายสุดที่มีประเภทสื่อข้อความ อาร์กิวเมนต์แรกของคอนสตรัคเตอร์ TextPart ระบุชนิดย่อยสื่อ ในกรณีนี้ ธรรมดา ประเภทย่อยของสื่ออื่นที่คุณอาจคุ้นเคยคือประเภทย่อย HTML วิธีที่ง่ายที่สุดในการรับและตั้งค่าเนื้อหาสตริงของส่วน MIME คือคุณสมบัติ Text
Open Source 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 อื่น ๆ ความแตกต่างหลัก ๆ คือมันมีค่าส่วนหัวการจัดการเนื้อหาที่ถือค่าของสิ่งที่แนบมาแทนที่จะเป็นแบบอินไลน์หรือไม่มีส่วนหัวการจัดการเนื้อหาเลย ในการส่งข้อความทั้งแบบข้อความ/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
Open Source MailKit API มีคุณสมบัติสำหรับการเข้ารหัสข้อความโดยใช้บริบทการเข้ารหัส S/MIME S/MIME ใช้ส่วน MIME ของ application/pkcs7-mime เพื่อห่อหุ้มเนื้อหาที่เข้ารหัส สร้างเนื้อหาข้อความด้วยข้อความและไฟล์แนบที่เป็นรูปภาพ หลังจากนั้น คุณสามารถเข้ารหัสเนื้อหาของข้อความโดยใช้บริบทการเข้ารหัส S/MIME ที่กำหนดเอง