1、申请163账号,开通客户端stmp协议获得登录密码如:“VYCSWZBGIWMQVNGG”
2、代码如下:
#!/usr/bin/python#-*- coding: UTF-8 -*-
importsmtplibfrom email.mime.text importMIMETextfrom email.header importHeaderfrom xpinyin importPinyinimportdatetime as dtimportpandas as pdimportxlrdimportosdefloginmail(name,content):
p=Pinyin()#第三方 SMTP 服务
mail_host = "" #设置服务器
mail_user = "zhangMingMingmj@" #用户名
mail_pass = "VYCSWZBGIWMQVNGG" #口令
port = 465sender=mail_user #用户名
receivers =p.get_pinyin(name, '')+'@'body=content#设置邮件正文,这里是支持HTML的
msg = MIMEText(body, 'html')#设置正文为符合邮件格式的HTML内容
msg['subject'] = '{}年{}月份工资条'.format(dt.datetime.now().year, dt.datetime.now().month-1)#设置邮件标题
msg['from'] =sender#设置发送人
msg['to'] =receiverstry:#ssl
smtpObj =smtplib.SMTP_SSL(mail_host, port)
smtpObj.login(mail_user, mail_pass)
smtpObj.sendmail(sender, receivers, msg.as_string())print("邮件发送成功"+receivers)exceptsmtplib.SMTPException:print("Error: 发送失败"+receivers)defmain():print("准备发送")
excel_name= input("请输入需要执行的excel文件路径:")ifos.path.isfile(excel_name):
sheet=pd.read_excel(excel_name)for row insheet.iloc:
df=pd.DataFrame(row)
loginmail(row["姓名"],df.to_html())else:print("找不到此目录下的"+excel_name)
os.system('pause')if __name__ == '__main__':
main()
需要安装
1、pip installxpinyin 将名字装换成拼音,然后根据拼音获取固定格式的邮箱地址
2、pip installpandas 将excel数据读入到数据操作集中
3、pip installxlrd 读取excel
3、打包成exe
1、安装 pip install pyinstaller
2、执行 pyinstaller xxx.py 等待生成exe
3、双击exe,如果报错缺少库则将缺少的库的文件夹拷贝至exe同目录
4、可以在cmd 里面执行exe -d 获取失败信息
4、excel 文件格式
5、值得注意的是打包的虚拟环境的选择,电脑有多个python环境会在安装库的时候提示已经存在另外一个地方了,后期打包好后手动去相应的地方拷贝即可
6、正常环境下面打包出的exe会包含很多当前程序用不上的库所以会很大,我们可以在anaconda里面新建一个当前程序的虚拟环境,切换到当前虚拟环境 conda activate myvirenv然后在虚拟环境中安装需要的库再打包就只有几十兆了。