SOFTELメモ Developer's blog

[linux] メールのソースをデコードして読む

2023/01/10 linux

問題

メールの元ファイルはMIMEエンコードやbase64エンコードされていて、直接閲覧しても読めないです。

うまく読む方法はありますか。

答え

ヘッダ部分

nkf -m で読める。

nkf -m sample.eml | head
To: test-test@example.com
Subject: 件名件名件名件名件名件名件名件名件名
From: info@example.com
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: BASE64

5qSc5Y+XXXXXXXXXXXXXXXXXXXXXXX~~~

ボディ部分(本文)

base64エンコードされているタイプなら、 base64 --decode で読める。

ヘッダ部分を除いた「xx行目以降」は、tail -n +xx で取得できる。

nkf -m sample.eml | tail -n +7 | base64 -di
→ デコードされた本文出力

関連するメモ

コメント