.NET Core/.NET Framework/Mono対応のMIMEメッセージ処理ライブラリです。 .NET Standard 2.0/1.6に対応しています。
MIME形式のメッセージの読み込み、デコードが出来ます。
メールのダウンロード機能は含まれていません。 IMAP4クライアントライブラリSmdn.Net.Imap4.ClientまたはPOP3クライアントライブラリSmdn.Net.Pop3.Clientと組み合わせてご利用ください。
MIT X11ライセンスを採用しています。
ダウンロード
リリース | ターゲットフレームワーク | 備考 |
---|---|---|
|
.NET Framework 4.5/4/3.5 |
メンテナンス版
今後重要な更新を除いて機能追加等はしません。 |
Smdn.Formats.Mime (NuGet) | .NET Framework 4.7.1/4.5 .NET Standard 2.0/1.6 |
開発版
v0.40に.NET Standard対応を加えたものに相当します。 |
|
||
|
開発版(アルファリリース)
機能的には概ね安定していますが、APIが未確定です。 |
ビルド済みパッケージ・過去のバージョンをダウンロードしたい場合、また変更履歴についてはリリース一覧をご覧ください。
機能と特徴
現在対応している主な機能の一覧です。
- Content-Type
- multipart/*, message/partialなど
- Content-Disposition
- RFC 2231形式のファイル名
- Content-Transfer-Encoding
- base64, quoted-printable, 7bit, 8bit, binary, uuencode
- MIME Encoding
- B-Encoding(base64), Q-Encoding(quoted-printable)
- メッセージのパース・デコード
- 添付ファイルの読み込み・抽出
- 分割メールの再結合
- メッセージの組み立て・エンコード(不完全)
サンプルコード
emlファイルを読み込んで件名・差出人・日付と本文を表示する例。
using System;
using Smdn.Formats.Mime;
class Sample {
static void Main(string[] args) {
// 電子メール形式のファイルsample.emlを読み込む
using (Mail mail = Mail.Load("sample.eml")) {
// 各ヘッダのデコード済みの値を表示
Console.WriteLine("From: {0}", mail.From);
Console.WriteLine("Date: {0}", mail.Date);
Console.WriteLine("Subject: {0}", mail.Subject);
Console.WriteLine();
// メールの本文を文字列として取得して表示
Console.WriteLine(mail.ReadContentAsText());
}
}
}
Imports System
Imports Smdn.Formats.Mime
Class Sample
Shared Sub Main()
' 電子メール形式のファイルsample.emlを読み込む
Using mail As Mail = Mail.Load("sample.eml")
' 各ヘッダのデコード済みの値を表示
Console.WriteLine("From: {0}", mail.From)
Console.WriteLine("Date: {0}", mail.Date)
Console.WriteLine("Subject: {0}", mail.Subject)
Console.WriteLine()
' メールの本文を文字列として取得して表示
Console.WriteLine(mail.ReadContentAsText())
End Using
End Sub
End Class
使い方・ドキュメント
各クラスの使い方の詳細、その他のサンプルコードはドキュメント・サンプルをご覧ください。 また、本ライブラリを使用したサンプルアプリケーションSimpleMailer, MailReassemblerもあわせてご覧ください。
不具合・要望・質問等
不具合の報告、ライブラリに対する要望や提案、使い方の質問などは掲示板へどうぞ。
動作状況
以下のフレームワークで概ね問題なく動作することを確認済みです。
- .NET Core
- .NET Framework
- Mono
version 0.13の時点では、手元にある計9,189通のメール(スパム、メーリングリスト・メールマガジンから、携帯から、添付ファイル付きなどを含む)を解析した結果、ほぼ正常に解析できています。 ただし解析した結果が「読める」かどうかまでは検証していません。 またMono 1.9ではJISからのデコードが出来ない場合があるようです。
対応予定
今後対応する予定の機能です。
- エンコード機能