.eml文件发件人From、收件人To、抄送人Cc中包含中文,显示乱码的问题解决办法

本文介绍了如何处理.eml文件中发件人From、收件人To、抄送人Cc字段包含中文导致在foxmail显示乱码的问题。通过使用Python将这些字段转换为base64的utf8格式,可以确保在foxmail中正确显示和导入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明

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:

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值