python 發(fā)送郵件至多個(gè)收件人有一點(diǎn)小問題。
問題描述
想向一多個(gè)用戶發(fā)郵件,于是寫了發(fā)送方法,然后循環(huán)讀取文件,想讓收件人看到郵件中的收件人只有自己,但是收件人還是顯示列表中的多個(gè)而且是文件中第一個(gè)人收件人看到一個(gè),第二個(gè)收件人看到前兩個(gè)像是追加到list似的,但是在調(diào)用中打印出to_addr 也是只有一個(gè)地址的,并不是多個(gè)地址。后來還是發(fā)了,注釋了msg[’To’]就可以不顯示收件人,但是想搞明白為什么會(huì)顯示多個(gè)。請(qǐng)大神幫忙分析下。
#!/usr/bin/python# -*- coding: UTF-8 -*-import smtplibimport osimport socketimport commandsfrom email.mime.text import MIMETextfrom email.header import Headerdef send(a,b): user = ’xxxx’ from_addr = ’xxxx@xxxx.com’ password = ’***********;’ smtp_server = ’smtp.xxxx.com’ to_addr = b print '##############'+to_addr msg[’To’] = Header(to_addr, ’utf-8’).encode() server = smtplib.SMTP(smtp_server, 25) server.set_debuglevel(1) server.login(user, password) print ’**************’+to_addr server.sendmail(from_addr, to_addr, a.as_string()) server.close()if __name__ == ’__main__’: msg = MIMEText(’內(nèi)容文字內(nèi)容文字’, ’plain’, ’utf-8’) msg[’Subject’] = Header(u’我是標(biāo)題’, ’utf-8’).encode() file = open('sample.txt') #lines=file.readlines() for i in file:print i print '##'q=send(msg,i)
問題解答
回答1:這應(yīng)該是郵箱自己幫你合并顯示的,你應(yīng)該登錄收件人的郵箱看看收件人列表是不是一個(gè),而不是看發(fā)件人
回答2:試著睡一會(huì)?在每個(gè)循環(huán)里time.sleep(60)?
相關(guān)文章:
1. python 計(jì)算兩個(gè)時(shí)間相差的分鐘數(shù),超過一天時(shí)計(jì)算不對(duì)2. javascript - 使用form進(jìn)行頁(yè)面跳轉(zhuǎn),但是很慢,如何加一個(gè)Loading?3. angular.js - angularjs 注入模塊報(bào)錯(cuò) 很怪異... 求解惑4. angular.js - 輸入郵箱地址之后, 如何使其自動(dòng)在末尾添加分號(hào)?5. javascript - JS 里面的 delete object.key 到底刪除了什么?6. javascript - ES6規(guī)范下 repeat 函數(shù)報(bào)錯(cuò) Invalid count value7. javascript - html5的data屬性怎么指定一個(gè)function函數(shù)呢?8. html5 - 為什么使使用vue cli 腳手架,post-css 沒有自動(dòng)對(duì)css3屬性自動(dòng)添加瀏覽器前綴呢?9. java如何生成token?10. javascript - 后臺(tái)管理系統(tǒng)左側(cè)折疊導(dǎo)航欄數(shù)據(jù)較多,怎么樣直接通過搜索去定位到具體某一個(gè)菜單項(xiàng)位置,并展開當(dāng)前菜單
