新聞中心
如何把收件人名字一一對(duì)應(yīng)

創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)納雍,十多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢(xún)建站服務(wù):13518219792
本文適合有一丟丟會(huì)自動(dòng)發(fā)郵件的道友看,僅供參考,坑位有限。
前提條件,我的解釋器是 IDLE 3.6 (用慣了,不想升級(jí))
以?xún)蓚€(gè)郵箱為例子。
- to_emails=['123@qq.com','456@qq.com']
- to_names=['怪盜基德','上杉繪梨衣']
自動(dòng)群發(fā)郵件,處理收件人姓名時(shí)大多是用join函數(shù)處理,
形成以逗號(hào)分隔的字符串。
官方大大說(shuō):Header接受的第一個(gè)參數(shù)的數(shù)據(jù)類(lèi)型必須要是字符串或者字節(jié),列表是不能解碼。
- to_names=['怪盜基德','上杉繪梨衣']
- msg['To'] = Header(",".join)
But,我試了一下,沒(méi)有用,兩個(gè)郵箱的收件人都是怪盜基德,上杉繪梨衣。不確定是什么原因,不排除是版本問(wèn)題,有網(wǎng)友知道可以跟我說(shuō)一下哈。
1、遍歷兩個(gè)列表
- import smtplib
- from email.mime.text import MIMEText
- from email.header import Header
- import time
- from_name = input('請(qǐng)輸入發(fā)件人:')
- from_addr = input('請(qǐng)輸入發(fā)件人郵箱:')
- password = input('請(qǐng)輸入發(fā)件人郵箱授權(quán)碼:')
- to_namelist = []
- to_addrs = []
- number=0
- while True:
- name=input('請(qǐng)輸入收件人:')
- to_namelist.append(name)
- email=input('請(qǐng)輸入收件兒郵箱:')
- to_addrs.append(email)
- temp=input('(可群發(fā))是否繼續(xù)輸入郵箱,輸入n加回車(chē)鍵退出,輸入任意鍵繼續(xù):')
- number=number+1
- if temp=='n':
- break
- smtp_server ='smtp.qq.com'
- input_subject = input('請(qǐng)輸入郵件主題:')
- text = input('請(qǐng)輸入郵件內(nèi)容:')
- 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('郵件發(fā)送成功!')
2、將兩個(gè)列表通過(guò)csv放進(jìn)Excel表格里,再通過(guò)讀取Excel表格進(jìn)行循環(huán)
- import time
- import smtplib
- from email.mime.text import MIMEText
- from email.header import Header
- import csv
- #發(fā)件人信息
- from_addr='1499823573@qq.com'
- password='xzrbanqjofkugaei'
- #如果有Excel表格就不用新建了,沒(méi)有csv就得考慮新建csv文件
- #方式一:通過(guò)現(xiàn)有列表新建csv文件
- #data=[['怪盜基德','123@qq.com'],['上杉繪梨衣','@456.com']]
- #方式二:通過(guò)輸入形成列表再新建csv文件
- dataemail=[]
- dataname=[]
- data=[]
- number=0
- while True:
- input_name=input('請(qǐng)輸入收件人稱(chēng)呼(可隨意寫(xiě)):')
- dataname.append(input_name)
- input_email=input('請(qǐng)輸入收件人郵箱賬號(hào):')
- dataemail.append(input_email)
- b=input('是否繼續(xù)輸入,n退出,任意鍵繼續(xù):')
- 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/郵箱數(shù)據(jù).csv','a',newline='') as f:
- writer=csv.writer(f)
- for row in data:
- writer.writerow(row)
- input_fromname=input('請(qǐng)輸入發(fā)件人:')
- input_subject=input('請(qǐng)輸入郵件主題:')
- text=input('請(qǐng)輸入郵件群發(fā)內(nèi)容:')
- with open('C:/Users/ASUS/Desktop/郵箱數(shù)據(jù).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('郵件發(fā)送成功!')
這里有個(gè)點(diǎn)剛開(kāi)始沒(méi)想到
- data.append([dataname[i],dataemail[i]])
網(wǎng)頁(yè)名稱(chēng):用Python自動(dòng)群發(fā)郵件給欠錢(qián)老賴(lài),哭著喊著把錢(qián)還你
文章網(wǎng)址:http://m.5511xx.com/article/cdjsijc.html


咨詢(xún)
建站咨詢(xún)
