一、smtplib自带模块,发送邮件 二、email自带模块,包装内容、头部信息等 三、QQ邮箱需要生成授权码(相当于密码),163邮箱需要账号和密码 四、实战测试: import smtplib from email . mi
一、smtplib自带模块,发送邮件
二、email自带模块,包装内容、头部信息等
三、QQ邮箱需要生成授权码(相当于密码),163邮箱需要账号和密码
四、实战测试:
import smtplibfrom email.mime.text import MIMEText #包装内容from email.header import Header # 包装头部信息# 登录邮箱smtp_obj = smtplib.SMTP("smtp.qq.com")# 邮箱的密码mctsqknolgyibgfe(授权许可)smtp_obj.login("398*****@qq.com", "mctsqknolgyibgfe")# 发送邮件# 发给谁to_person = "hotelmail@126.com"# 主题title = Header("测试邮件发送", "utf-8")# 发送者sender = Header("123123@qq.com","utf-8")# 内容是什么msg = MIMEText("这是一个关于python邮件发送", "html", "utf-8")msg["From"]=sender # 发送者msg["Subject"] = title# 发送邮件smtp_obj.sendmail("398******@qq.com", to_person, msg.as_string())五、批量发送邮件
从表格中读取数据
import smtplibfrom email.mime.text import MIMEText #包装内容from email.header import Header # 包装头部信息import xlrddata = xlrd.open_workbook('名单.xlsx')sheet = data.sheets()[0]for i in range(sheet.nrows): name = sheet.cell_value(i, 0) old_money = sheet.cell_value(i, 1) new_money = sheet.cell_value(i, 2) # print(name, "---", old_money, "---", new_money) # 登录邮箱 smtp_obj = smtplib.SMTP("smtp.qq.com") # 邮箱的密码mctsqknolgyibgfe(授权许可) smtp_obj.login("398*****@qq.com", "mctsqknolgyibgfe") # 发送邮件 # 发给谁 to_person = "hotelmail@126.com" # 主题 title = Header("测试邮件发送", "utf-8") # 发送者 sender = Header("123123@qq.com", "utf-8") # 内容是什么 msg = MIMEText(f"<h1>通知</h1> 您好:{name},由于<b>疫情原因</b>,公司调整**由原来的{old_money},调整为{new_money}", "html", "utf-8") msg["From"] = sender # 发送者 msg["Subject"] = title # 发送邮件 smtp_obj.sendmail("398******@qq.com", to_person, msg.as_string()) print(f"{name}的邮件已发送")