LoginSignup
2
1

More than 5 years have passed since last update.

MailhogAPIのレスポンスをデコードする

Posted at

MailHogはメールのテストをするときに便利ですが、APIのレスポンスがMIMEエンコードされており読めないのが玉に瑕です。
色々試行錯誤したのですが、Nodemailerのモジュール、Mailparserを使うのが手っ取り早そうだったので紹介します。

環境

  • Ubuntu 18.04
  • NodeJS 10.14.2

手順

NodeJSでMailhogを扱うためのmailhog-nodeと、メールをデコードするためのMailparserをインストールします。


$ npm install --save-dev mailhog mailparser

次に、Mailhogからメールを取得し、レスポンス中の Raw.Data をMailparserでパースします。

const mailhog = require('mailhog')({apiUrl: 'http://localhost:8025'})
const { simpleParser } = require("mailparser");

const mailTo = 'foo@example.com'
const mails = await mailhog.search(mailTo, 'to')

const parsedMails = []
let parsed = ''
for (let mail of mails) {
  parsed =  await simpleParser(item.Raw.Data)
  parsedMails.push(parsed)
}

パース結果は https://nodemailer.com/extras/mailparser/#mail-object などを参考にしてください。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1