比较用于解析电子邮件的Node.js库

简要概括

    • nodejsで受信したemailをparseしたいため現時点でのライブラリを調査した

 

    • どのライブラリもMIME形式のemailのパースにしっかり対応

 

    • 添付ファイル、テキストの文字コード変換(UTF-8)など基本的に必要なものは、ほぼどれも対応

 

    • パフォーマンスまでは調査していない

 

    • mailparserのみstreamベースのハンドラ登録をサポートしている

 

    DL数やメンテの頻度、ドキュメントの充実度などの観点から、2021/2時点ではmailparser一択っぽい

调查日志 chá rì zhì)

邮件解析器

    • URL

https://www.npmjs.com/package/mailparser
https://nodemailer.com/extras/mailparser/

特徴

2010年頃から開発されているnodejs用の老舗メール送信ライブラリに追加された機能
ドキュメントがしっかりしている

メモ

MITライセンス
2021/2/14時点で調査した上では最もよく使われているぽい
テキストは全てUTF-8に変換
添付ファイル○
セキュリティクリーニング☓
sourceはstringでもBufferでも良い(便利!)
2つのインターフェース

message内容を一気に返す
streamベースでヘッダー、テキストなど1個1個のparseに対してハンドラが定義できる

– mailparser2なるものもあるが、こっちはメンテされてない模様

mailparser-mit

URL

https://www.npmjs.com/package/mailparser-mit
https://github.com/mazira/mailparser-mit#readme

特徴

MITライセンス

mailparserがライセンスをEUPLにしたのがきっかけでmailparserからforkしたらしい

mailparserは2020/12にMITライセンスに戻している

機能はほぼmailparserと同じ
2018年から現在メンテされていない

解析电子邮件

    • URL

https://www.npmjs.com/package/parse-email

特徴

MITライセンス
parse時のinputは文字列が必須
Promiseベース(イベントは非サポート)
2017年からメンテされていない

信封

    • URL

https://www.npmjs.com/package/envelope
https://github.com/jhermsmeier/node-envelope

特徴

MITライセンス
newでparseを行うちょっと特殊な形式
メールbody部分のオブジェクト構造がちょっと特殊で直感的でない印象
最後の更新は2020/2