mailparserで `iso-2022-jp` を扱う
メールが文字化けをしてしまう
何も考えずに mailparser
を利用すると、 iso-2022-jp
の文字コードの日本語文字が文字化けしてしまう。
これを対処するには、 iconv
を利用することで解決することができる。
まず、 iconv
をinstallする。
npm i iconv
MailParser
を利用している場合は以下の記述に直す。
const Iconv = require('iconv').Iconv; const MailParser = require('mailparser').MailParser; let parser = new MailParser({ Iconv });
simpleParser
を利用している場合は以下の記述に直す。
const Iconv = require('iconv').Iconv; const simpleParser = require('mailparser').simpleParser; simpleParser('rfc822 message', { Iconv }, callback);
なお、 iso-2022-jp
を含めてメールの文字化けは、以下のサイトに通すことで、デコードしてくれる。
文字化けが起きていたころはデコードするのに、大変重宝した。
https://www.bungu-do.jp/tools/mail_subject