当前位置: 首页 > 科技观察

用Python自动群发给欠钱的老赖,哭着喊着把钱还给你

时间:2023-03-18 11:51:08 科技观察

如何一一匹配收件人姓名篇幅有限。作为先决条件,我的解释器是IDLE3.6(我已经习惯了,我不想升级)。以两个邮箱为例。to_emails=['123@qq.com','456@qq.com']to_names=['怪盗基德','上杉绘依']自动群发邮件,大多在处理收件人姓名时使用join功能处理,形成逗号分隔的字符串。官方说:Header接受的第一个参数的数据类型必须是string或者byte,不能解码list。to_names=['怪盗基德','EriUesugi']msg['To']=Header(".".join)但是,我试了,没用,两个邮箱的收件人都是怪盗基德,上杉绘里。不知道是什么原因,不排除是版本问题。有知道的网友可以介绍一下。1.遍历两个列表importsmtplibfromemail.mime.textimportMIMETextfromemail.headerimportHeaderimporttimefrom_name=input('请输入发件人:')from_addr=input('请输入发件人邮箱:')password=input('请输入发件人邮箱授权码:')to_namelist=[]to_addrs=[]number=0whileTrue:name=input('请输入收件人:')to_namelist.append(name)email=input('请输入收件人邮箱:')to_addrs.append(email)temp=input('(群发)是否继续进入邮箱,输入n回车退出,输入任意键继续:')number=number+1iftemp=='n':breaksmtp_server='smtp.qq.com'input_subject=input('请输入邮件主题:')text=input('请输入邮件内容:')foriinrange(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_地址,密码)server.sendmail(from_addr,to_addr,msg.as_string())server.quit()now=time.strftime('%Y-%m-%d%H:%M:%S',时间。localtime(time.time()))print(now)print('邮件发送成功!')2.将两个列表通过csv放入Excel表格,然后通过读取Excel表格循环importtimeimportsmtplibfrommail.mime.textimportMIMETextfromemail.headerimportHeaderimportcsv#发件人信息from_addr='1499823573@qq.com'password='xzrbanqjofkugaei'#如果有Excel表格就不用新建了。如果没有csv,就得考虑新建一个csv文件#方法一:通过现在用list新建一个csv文件#data=[['KiddtheKaito','123@qq.com'],['EriUesugi','@456.com']]#方法2:通过输入创建一个新的csv文件形成一个列表dataemail=[]dataname=[]data=[]number=0whileTrue:input_name=input('Please输入收件人姓名(可以随便写):')dataname.append(input_name)input_email=input('请输入收件人邮箱:')dataemail.append(input_email)b=input('是否继续输入,n退出,任意键继续:')number=number+1ifb=='n':break=0foriinrange(number):data.append([dataname[i],dataemail[i]])withopen('C:/Users/ASUS/Desktop/emaildata.csv','a',newline='')asf:writer=csv.writer(f)forrowindata:writer.writerow(row)input_fromname=input('请输入发件人:')input_subject=input('请输入邮件主题:')text=input('请输入群发邮件内容:')withopen('C:/Users/ASUS/Desktop/mailboxdata.csv','r')asf:reader=csv.reader(f)forrowinreader: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)打印('邮件发送成功!')这里有个点是我一开始没想到的data.append([dataname[i],dataemail[i]])