【发布时间】:2015-06-03 17:18:12
【问题描述】:
我需要解析一封似乎使用 utf-8 编码的电子邮件,以提取主题和发件人以及正文部分。
header部分没问题,但是body看起来是这样的:
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KRmVkb3JhIFVwZGF0ZSBOb3RpZmljYXRpb24KRkVET1JB
MTUtNDQ1NwoyMDE1LTAzLTIzIDAyOjM5OjI1Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpO
ICAgICAgICA6IGtlcm5lbApQcm9kdWN0ICAgICA6IEZlZG9yYSAyMQpWZXJzaW9uICAgICA6
MTkuMgpSZWxlYXNlICAgICA6IDIwMS5mYzIxClVSTCAgICAgICAgIDogaHR0cDovL3d3dy5r
ZWwub3JnLwpTdW1tYXJ5ICAgICA6IFRoZSBMaW51eCBrZXJuZWwKRGVzY3JpcHRpb24gOgpU
Z2VybmVsIG1ldGEgcGFja2FnZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVXBkYXRlIElu
...
Alpine 显然可以正确解码,并告诉我:
[ The following text is in the "utf-8" character set. ]
[ Your display is set for the "ANSI_X3.4-1968" character set. ]
[ Some characters may be displayed incorrectly. ]
我可以为此使用哪个 perl 模块?希望这足以提供帮助。
我看到了用于创建 MIME 编码消息的模块,但是如何解码和读取一个?对于这种特定类型的编码,我需要一个模块吗?
【问题讨论】:
-
您的电子邮件将有一行描述这是什么 MIME 类型。它说什么?
-
使用Mime::Tools,尤其是Mime::Parser类。
-
上面写着:
Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64
标签: perl email utf-8 mime-types mime