python 發送郵件至多個收件人有一點小問題。
問題描述
想向一多個用戶發郵件,于是寫了發送方法,然后循環讀取文件,想讓收件人看到郵件中的收件人只有自己,但是收件人還是顯示列表中的多個而且是文件中第一個人收件人看到一個,第二個收件人看到前兩個像是追加到list似的,但是在調用中打印出to_addr 也是只有一個地址的,并不是多個地址。后來還是發了,注釋了msg[’To’]就可以不顯示收件人,但是想搞明白為什么會顯示多個。請大神幫忙分析下。
#!/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(’內容文字內容文字’, ’plain’, ’utf-8’) msg[’Subject’] = Header(u’我是標題’, ’utf-8’).encode() file = open('sample.txt') #lines=file.readlines() for i in file:print i print '##'q=send(msg,i)
問題解答
回答1:這應該是郵箱自己幫你合并顯示的,你應該登錄收件人的郵箱看看收件人列表是不是一個,而不是看發件人
回答2:試著睡一會?在每個循環里time.sleep(60)?
相關文章:
1. mysql - ubuntu開啟3306端口失敗,有什么辦法可以解決?2. php傳對應的id值為什么傳不了啊有木有大神會的看我下方截圖3. extra沒有加載出來4. javascript - 微信網頁開發從菜單進入頁面后,按返回鍵沒有關閉瀏覽器而是刷新當前頁面,求解決?5. mysql - C#連接數據庫時一直這一句出問題int i = cmd.ExecuteNonQuery();6. mysql日期類型默認值’0000-00-00’ 報錯7. 求救一下,用新版的phpstudy,數據庫過段時間會消失是什么情況?8. mysql replace 死鎖9. windows - asp.net連接上mysql之后如何調用?比如下面的登錄驗證功能怎么實現10. android - 安卓做前端,PHP做后臺服務器 有什么需要注意的?
