perl – 解码UTF8电子邮件标头

前端之家收集整理的这篇文章主要介绍了perl – 解码UTF8电子邮件标头前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个表单的电子邮件主题
=?utf-8?B?T3.....?=

电子邮件的正文是utf-8 base64编码 – 并且解码得很好。
我目前正在使用Perl的Email :: MIME模块来解码电子邮件

=?utf-8分隔符的含义是什么?如何从此字符串中提取信息?

解决方法

encoded-word令牌(根据 RFC 2047)可以出现在某些标题的值中。它们解析如下:
=?<charset>?<encoding>?<data>?=

在这种情况下,Charset是UTF-8,编码是B,这意味着base64(另一个选项是Q,这意味着Quoted Printable)。

要阅读它,首先解码base64,然后将其视为UTF-8字符。

另请阅读各种Internet邮件RFC以获取更多详细信息,主要是RFC 2047

由于您使用的是Perl,因此可以使用Encode::MIME::Header

SYNOPSIS

06001

ABSTRACT

This module implements RFC 2047 Mime
Header Encoding. There are 3 variant
encoding names; MIME-Header,MIME-B
and MIME-Q. The difference is
described below

06002

猜你在找的Perl相关文章