Бібліотека створення та аналізу .NET MIME з відкритим кодом
Створення .NET MIME та бібліотека аналізатора для шифрування, дешифрування та підпису повідомлень, а також перевірки цифрових підписів за допомогою стандартів S/MIME або OpenPGP.
MimeKit — це бібліотека C# .NET із відкритим вихідним кодом, яка дозволяє розробникам програмного забезпечення створювати та аналізувати повідомлення електронної пошти за допомогою багатоцільового розширення Інтернет-пошти (MIME). Основною причиною розробки проекту було те, що вважалося, що більшість клієнтського (і серверного) програмного забезпечення електронної пошти мали незадовільну реалізацію MIME. У більшості випадків ці клієнти електронної пошти неправильно намагаються проаналізувати повідомлення MIME і, отже, не зможуть отримати всі переваги MIME.
Основна мета проекту MimeKit — якнайточніше вирішити всі ці проблеми та водночас надати комп’ютерним програмістам надзвичайно простий у використанні API високого рівня. Найцікавіше в бібліотеці те, що вона набагато швидша з усіма доступними рішеннями. Навіть деякі комерційні аналізатори MIME навіть близько не відповідають продуктивності MimeKit.
Початок роботи з MimeKit
Найпростіший спосіб інсталювати MimeKit через NuGet. У консолі диспетчера пакетів 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 визначає підтип медіа, у даному випадку plain. Ще один підтип медіа, з яким ви, мабуть, знайомі, це підтип 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, головна відмінність полягає в тому, що вони містять заголовок 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
Open Source MailKit API надає функції для шифрування повідомлень за допомогою криптографічного контексту S/MIME. S/MIME використовує частину MIME application/pkcs7-mime для інкапсуляції зашифрованого вмісту. Створіть текст повідомлення з деякими вкладеними зображеннями. Після цього ви можете зашифрувати тіло повідомлення за допомогою спеціального криптографічного контексту S/MIME.