最近需要监控linux本地账号的邮件,提取相关信息作为短信内容发送。
发现直接打开/var/spool/mail/xxx是乱码
经过谷歌学习找到如下方法
-
常用的邮件编码有两种base64和quoted-printable
邮件内容Content-Transfer-Encoding:会显示出内容编码
同时匹配的还有Content-Type: text/plain; charset=UTF-8字段
base64编码格式类似如下:=?UTF-8?B?xxx?=
quoted-printable编码格式如下:=E4=B8=A5=E9=8
-
对于base64编码比较好解决,一般linux系统都会自带base64命令
base64 -d 可直接解码
3. quoted-printable 需要安装recode包
yum list recode
yum install -y recode.x86_64
安装后用recode /qp命令解码