怎么用Python自动群发邮件
发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,这篇文章主要讲解了"怎么用Python自动群发邮件",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么用Python自动群发邮件"吧!如何把收件人名字一
千家信息网最后更新 2025年01月17日怎么用Python自动群发邮件
这篇文章主要讲解了"怎么用Python自动群发邮件",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么用Python自动群发邮件"吧!
如何把收件人名字一一对应
前提条件,我的解释器是 IDLE 3.6 (用惯了,不想升级)
以两个邮箱为例子。
to_emails=['123@qq.com','456@qq.com'] to_names=['怪盗基德','上杉绘梨衣']
自动群发邮件,处理收件人姓名时大多是用join函数处理,
形成以逗号分隔的字符串。
官方大大说:Header接受的第一个参数的数据类型必须要是字符串或者字节,列表是不能解码。
to_names=['怪盗基德','上杉绘梨衣'] msg['To'] = Header(",".join)
But,我试了一下,没有用,两个邮箱的收件人都是怪盗基德,上杉绘梨衣。不确定是什么原因,不排除是版本问题,有网友知道可以跟我说一下哈。
1、遍历两个列表
import smtplib from email.mime.text import MIMEText from email.header import Header import time from_name = input('请输入发件人:') from_addr = input('请输入发件人邮箱:') password = input('请输入发件人邮箱授权码:') to_namelist = [] to_addrs = [] number=0 while True: name=input('请输入收件人:') to_namelist.append(name) email=input('请输入收件儿邮箱:') to_addrs.append(email) temp=input('(可群发)是否继续输入邮箱,输入n加回车键退出,输入任意键继续:') number=number+1 if temp=='n': break smtp_server ='smtp.qq.com' input_subject = input('请输入邮件主题:') text = input('请输入邮件内容:') for i in range(number): to_name=to_namelist[i] to_addr=to_addrs[i] msg = MIMEText(text,'plain','utf-8') msg['From'] = Header(from_name) msg['To'] = Header(to_name) msg['Subject'] = Header(input_subject) server = smtplib.SMTP_SSL() server.connect(smtp_server,465) server.login(from_addr, password) server.sendmail(from_addr,to_addr, msg.as_string()) server.quit() now=time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) print(now) print('邮件发送成功!')
2、将两个列表通过csv放进Excel表格里,再通过读取Excel表格进行循环
import time import smtplib from email.mime.text import MIMEText from email.header import Header import csv #发件人信息 from_addr='1499823573@qq.com' password='xzrbanqjofkugaei' #如果有Excel表格就不用新建了,没有csv就得考虑新建csv文件 #方式一:通过现有列表新建csv文件 #data=[['怪盗基德','123@qq.com'],['上杉绘梨衣','@456.com']] #方式二:通过输入形成列表再新建csv文件 dataemail=[] dataname=[] data=[] number=0 while True: input_name=input('请输入收件人称呼(可随意写):') dataname.append(input_name) input_email=input('请输入收件人邮箱账号:') dataemail.append(input_email) b=input('是否继续输入,n退出,任意键继续:') number=number+1 if b=='n': break i=0 for i in range(number): data.append([dataname[i],dataemail[i]]) with open('C:/Users/ASUS/Desktop/邮箱数据.csv','a',newline='') as f: writer=csv.writer(f) for row in data: writer.writerow(row) input_fromname=input('请输入发件人:') input_subject=input('请输入邮件主题:') text=input('请输入邮件群发内容:') with open('C:/Users/ASUS/Desktop/邮箱数据.csv','r') as f: reader=csv.reader(f) for row in reader: to_addrs=row[1] to_name=row[0] #text='ncoqw' msg=MIMEText(text,'plain','utf-8') msg['From']=Header(input_fromname) msg['To']=Header(to_name) msg['Subject']=Header(input_subject) server=smtplib.SMTP_SSL() server.connect('smtp.qq.com',465) server.login(from_addr,password) server.sendmail(from_addr,to_addrs,msg.as_string()) server.quit() now=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())) print(now) print('邮件发送成功!')
这里有个点刚开始没想到
data.append([dataname[i],dataemail[i]])
感谢各位的阅读,以上就是"怎么用Python自动群发邮件"的内容了,经过本文的学习后,相信大家对怎么用Python自动群发邮件这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
输入
邮件
邮箱
收件人
发件人
两个
内容
上杉
基德
数据
文件
表格
学习
成功
主题
字符
字符串
方式
问题
处理
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全的书有哪些
计算机网络安全有哪些应用
cpu和服务器cpu
英雄联盟连不上服务器是什么情况
软件开发方法范文
服务器错误邮件能发出去吗
es数据库是哪个国家的
网络安全算是外包吗
数据库和现场仪表采用什么接口
北理工数据库应用系统开发试卷
网络安全口号四个字
个人电动自行车登记服务器异常
网络安全工程师包括什么
关于网络安全的编程软件
怎么删掉数据库中系统表中建的表
新华三和中科曙光谁的服务器好
深信服网络安全审计日志
互联网打假科技
守住手机网络安全底线
幼儿园护苗网络安全课件
大学专业网络安全与执法
密码学与网络安全期末考试
微博服务器崩溃鹿晗原因
linnx系统服务器连不上
中级数据库应用工程师
中外文电子数据库都有哪些免费的
服务器系统2008初始密码
7940x是服务器cpu吗
笔记本怎么做服务器的显示器
中山市网络安全宣传活动