eml邮件格式转换为html-python

点击查看代码
import os 
import sys 
import email 
import errno 
import mimetypes 
   
PATH = os.path.abspath(os.path.dirname(sys.argv[0])) 
ITEM_PATH = PATH + "\item"   
os.mkdir(ITEM_PATH)
PATH_DATA = os.path.abspath(os.path.dirname(sys.argv[0]))+"\data" #这目录要自己创建然后将要转换的eml文件放进去
   
def item(eml_file,eml_name):    
   
    fp = open(eml_file) 
    html_name = eml_name.split('.') 
    html = html_name[0]+html_name[1] 
    msg = email.message_from_file(fp) 
    fp.close() 
   
    counter = 1 
    for part in msg.walk(): 
   
        if part.get_content_maintype() == 'multipart': 
            continue 
   
        filename = part.get_filename() 
        #print filename 
        if not filename: 
            ext = mimetypes.guess_extension(part.get_content_type()) 
            if not ext: 
                ext = '.bin' 
            filename = html+'part-%03d%s' % (counter, ext) 
            counter += 1 
            try: 
                fp = open(os.path.join(ITEM_PATH, filename), 'wb') 
                fp.write(part.get_payload(decode=True)) 
                fp.close() 
            except IOError: 
                pass 
            except TypeError: 
                pass 
   
def main(): 
    for root,dirs,files in os.walk(PATH_DATA): 
        for _dir in dirs: 
            if os.path.isdir("item"): 
                pass 
            else: 
                os.mkdir("_dir\html") 
   
        for _file in files: 
            eml_file = os.path.join(root, _file) 
            item(eml_file, _file) 
   
   
if __name__ == '__main__': 
    main() 

转载:
https://www.cnblogs.com/fremcode/archive/2013/11/22/3437496.html
posted @   zbzSH  阅读(171)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示