发布时间:2025-11-04 14:22:33 来源:创站工坊 作者:应用开发
如何把收件人名字一一对应
本文适合有一丢丢会自动发邮件的动群道友看,仅供参考,发邮坑位有限。欠钱
前提条件,老赖我的喊着还解释器是 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]])