【问题标题】:converting base64 encoded mail subject to text将 base64 编码的邮件主题转换为文本
【发布时间】:2012-03-01 02:46:15
【问题描述】:

着手编写一个简单的 procmail 收件人,如果在主题中发现“未配置”文本,它将把邮件转发给我。

:0:
* ^Subject:.*Unprovisioned.*
! me@test.com

不幸的是,来自邮件服务器的邮件消息中的主题字段采用 MIME 编码字语法。

形式为:"=?charset?encoding?encoded text?=".

 Subject: =?UTF-8?B?QURWSVNPUlk6IEJNRFMgMTg0NSwgTkVXIFlPUksgLSBVbnByb3Zpc2lvbmVkIENvbm4gQQ==?=
    =?UTF-8?B?bGVydA==?=

以上主题为utf-8字符集,base64编码,文字折叠成两行。所以想知道是否有任何机制/脚本/实用程序来解析它并转换为字符串格式,以便我可以应用我的 procmail 过滤器。当然,我可以编写一个 perl 脚本来解析它并执行所需的验证,但尽可能避免它。

【问题讨论】:

标签: perl unix procmail


【解决方案1】:

Encode::MIME::Header,Perl 自带,直接通过 Encode 访问:

use Encode qw(encode decode);
my $header_text = decode('MIME-Header', $header);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-06
    • 2016-10-15
    • 1970-01-01
    • 1970-01-01
    • 2015-05-30
    • 1970-01-01
    相关资源
    最近更新 更多