概要
- nodejsで受信したemailをparseしたいため現時点でのライブラリを調査した
- どのライブラリもMIME形式のemailのパースにしっかり対応
- 添付ファイル、テキストの文字コード変換(UTF-8)など基本的に必要なものは、ほぼどれも対応
- パフォーマンスまでは調査していない
- mailparserのみstreamベースのハンドラ登録をサポートしている
- DL数やメンテの頻度、ドキュメントの充実度などの観点から、2021/2時点ではmailparser一択っぽい
調査ログ
mailparser
- URL
- 特徴
- 2010年頃から開発されているnodejs用の老舗メール送信ライブラリに追加された機能
- ドキュメントがしっかりしている
- メモ
- MITライセンス
- 2021/2/14時点で調査した上では最もよく使われているぽい
- テキストは全てUTF-8に変換
- 添付ファイル○
- セキュリティクリーニング☓
- sourceはstringでもBufferでも良い(便利!)
- 2つのインターフェース
- message内容を一気に返す
- streamベースでヘッダー、テキストなど1個1個のparseに対してハンドラが定義できる
- mailparser2なるものもあるが、こっちはメンテされてない模様
mailparser-mit
- URL
- 特徴
- MITライセンス
-
mailparserがライセンスをEUPLにしたのがきっかけでmailparserからforkしたらしい
- mailparserは2020/12にMITライセンスに戻している
- 機能はほぼmailparserと同じ
- 2018年から現在メンテされていない
parse-email
- URL
- 特徴
- MITライセンス
- parse時のinputは文字列が必須
- Promiseベース(イベントは非サポート)
- 2017年からメンテされていない
envelope
- URL
- 特徴
- MITライセンス
- newでparseを行うちょっと特殊な形式
- メールbody部分のオブジェクト構造がちょっと特殊で直感的でない印象
- 最後の更新は2020/2