1、申请163账号,开通客户端stmp协议获得登录密码如:“VYCSWZBGIWMQVNGG”
2、代码如下:
#!/usr/bin/python # -*- coding: UTF-8 -*- import smtplib from email.mime.text import MIMEText from email.header import Header from xpinyin import Pinyin import datetime as dt import pandas as pd import xlrd import os def loginmail(name,content): p = Pinyin() # 第三方 SMTP 服务 mail_host = "smtp.163.com" # 设置服务器 mail_user = "zhangMingMingmj@163.com" # 用户名 mail_pass = "VYCSWZBGIWMQVNGG" # 口令 port = 465 sender=mail_user #用户名 receivers =p.get_pinyin(name, '')+'@qq.com' 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'] = receivers try: #ssl smtpObj = smtplib.SMTP_SSL(mail_host, port) smtpObj.login(mail_user, mail_pass) smtpObj.sendmail(sender, receivers, msg.as_string()) print("邮件发送成功"+receivers) except smtplib.SMTPException: print("Error: 发送失败"+receivers) def main(): print("准备发送") excel_name = input("请输入需要执行的excel文件路径:") if os.path.isfile(excel_name): sheet=pd.read_excel(excel_name) for row in sheet.iloc: df=pd.DataFrame(row) loginmail(row["姓名"],df.to_html()) else: print("找不到此目录下的"+excel_name) os.system('pause') if __name__ == '__main__': main()
需要安装
1、pip install xpinyin 将名字装换成拼音,然后根据拼音获取固定格式的邮箱地址
2、pip install pandas 将excel数据读入到数据操作集中
3、pip install xlrd 读取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然后在虚拟环境中安装需要的库再打包就只有几十兆了。