オープン ソースの .NET MIME 作成および解析ライブラリ
メッセージの暗号化、復号化、署名、および S/MIME または OpenPGP 標準を使用したデジタル署名の検証のための .NET MIME 作成およびパーサー ライブラリ。
MimeKit は、ソフトウェア開発者が Multipurpose Internet Mail Extension (MIME) を使用して電子メール メッセージを作成および解析できるようにするオープン ソースの C# .NET ライブラリです。プロジェクトの開発の背後にある主な理由は、大部分の電子メール クライアント (およびサーバー) ソフトウェアの 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
オープン ソース API の MailKit ライブラリを使用すると、ソフトウェア開発者はいくつかの簡単なコマンドで MIME メッセージを作成できます。 TextPart は、テキスト メディア タイプを持つリーフ ノード MIME パーツです。 TextPart コンストラクターの最初の引数は、メディア サブタイプ (この場合はプレーン) を指定します。おそらくおなじみのもう 1 つのメディア サブタイプは、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 ヘッダーがまったく含まれていないことです。メッセージの text/HTML と text/plain バージョンの両方を送信するには、各パーツの TextPart を作成し、それらを multipart/alternative に追加する必要があります。
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 でメッセージを暗号化または復号化する
オープン ソースの MailKit API は、S/MIME 暗号化コンテキストを使用してメッセージを暗号化する機能を提供します。 S/MIME は、application/pkcs7-mime MIME 部分を使用して、暗号化されたコンテンツをカプセル化します。メッセージ テキストといくつかの画像を添付して、メッセージ本文を作成します。その後、カスタム S/MIME 暗号化コンテキストを使用してメッセージ本文を暗号化できます。