我确信我曾经有过一种从命令行读取电子邮件文件的方法,这种方法非常简单,但现在我再也找不到它了。
我有 MailDir 格式的文件,我希望查看它们的内容(标头、正文(HTML/纯文本)、MIME 解码、可能提取附件)。这些不是我的电子邮件;这并不是说我想要一个能够为我获取、排序、发送邮件的 MUA——它们只是我需要检查的原始文件。
答案1
答案2
答案3
reformime
是一个命令(来自maildrop
Debian/Ubuntu 上的软件包),可用于提取身体电子邮件文件的。
您可以获得 MIME 部分的列表,reformime -i <your-message
其中包含类似的内容
section: 1
content-type: multipart/alternative
content-transfer-encoding: 8bit
charset: UTF-8
content-language: en-GB
starting-pos: 0
starting-pos-body: 2494
ending-pos: 75170
line-count: 1287
body-line-count: 1241
section: 1.1
content-type: text/plain
content-transfer-encoding: 8bit
charset: utf-8
starting-pos: 2578
starting-pos-body: 2666
ending-pos: 8180
line-count: 181
body-line-count: 178
section: 1.2
content-type: multipart/related
content-transfer-encoding: 8bit
charset: UTF-8
starting-pos: 8220
starting-pos-body: 8303
ending-pos: 75128
line-count: 1054
body-line-count: 1051
section: 1.2.1
content-type: text/html
content-transfer-encoding: 8bit
charset: utf-8
starting-pos: 8343
starting-pos-body: 8415
ending-pos: 25276
line-count: 343
body-line-count: 340
然后您可以提取一个部分,reformime -e -s 1.1
例如这将提取纯文本版本(1.1)。同样,如果第 1.2.3 节是图像,您可以像这样查看它reformime -e -s 1.2.3 <mail.eml | display :-
因此,如果您只想查看纯文本版本,您可以使用方便的单行代码“轻松”完成:
F=/path/to/the-email-file
reformime -e -s $(reformime -i <$F | fgrep -B1 'content-type: text/plain' | head -n1 | cut -c 10- ) <$F
这不是我希望找到的简单选择,但我想无论如何都会记录下来!