说明
eml文件中的发件人From、收件人To、抄送人Cc有时包含中文,用foxmail查看时显示乱码。
本程序将发件人、收件人、抄送人修改为base64,utf8格式的,以便用foxmail查看时,正常显示。
经过实测,修改后eml文件用foxmail可以正常显示发件人、收件人、抄送人,导入Foxmail也正常。
Python代码如下:
# -*- coding: utf-8 -*-
import base64
import os
import re
# 根据isdebug,决定日志的输出量
isdebug = True
isdebug = False
def tobase64names(start_str, line):
""" 按照关键字修改文件的某一行内容
:param start_str: 关键字,在每行开头出现
:param line: 文件的一行内容
:return: rtn 修改后的内容
"""
rtn = 'null'
base64_names = ''
if line.startswith(start_str):
str_names = line.replace(start_str, '')
str_names = str_names.replace('\n', '')
if str_names.find(',') >= 0:
if isdebug:
print("%s 多个姓名:%s" % (start_str, str_names))
names = re.split(r'(?:,)', str_names)
base64_names = ''
for s in names: