【发布时间】: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 脚本来解析它并执行所需的验证,但尽可能避免它。
【问题讨论】:
-
如果遇到边缘情况(如包装的标头,email and MIME are tricky!),请考虑切换到Courriel 来解析消息。
-
切线,尾随
.*是多余的。