这个需求应该不会很多,也是挺有意思。
指定邮件存放文件夹后,运行直接解析邮件然后用日期命名邮件。根据月份创建文件夹,所有邮件会存放在同月份邮件夹内。
代码运行需要python环境,需要安装 extract-msg
pip install extract-msg
#create by keefor on 20220705
import extract_msg
import os
import string
import shutil
def mkdir(path):
path = path.strip()
path = path.rstrip("\\")
isExists = os.path.exists(path)
if not isExists:
os.makedirs(path)
return
month_abbr_list = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
def rename(str):
print(str)
msg = extract_msg.Message(str)
msg_date = msg.date
msg.close();
m = msg_date.split()
mouth = m[2].replace('.','')
mouth = "%02d"%(list(month_abbr_list).index(mouth)+1)
mkdir("./"+mouth)
shutil.copyfile(str,"./{}/{}{}{}_{}.msg".format(mouth,m[3],mouth,m[1],m[4].replace(':','_')))
return
#这里写邮件存放文件夹
dirs = './5/';
lst = os.listdir(dirs)
for fl in lst:
rename(dirs+fl)
input();