python 發送郵件至多個收件人有一點小問題。
高洛峰
高洛峰 2017-05-18 10:50:26
0
2
885

想向一多個用戶發送郵件,於是寫了發送方法,然後循環讀取文件,想讓收件人看到郵件中的收件人只有自己,但是收件人還是顯示列表中的多個而且是檔案中第一個人收件者看到一個,第二個收件者看到前兩個像是追加到list似的,但是在呼叫中列印出to_addr 也是只有一個位址的,並不是多個地址。
後來還是發了,註解了msg['To']就可以不顯示收件人,但是想搞清楚為什麼會顯示多個。
請大神幫忙分析下。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import smtplib
import os
import socket
import commands
from email.mime.text import MIMEText
from email.header import Header
def 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)

##
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回覆(2)
滿天的星座

這應該是郵箱自己幫你合併顯示的,你應該登入收件者的信箱看看收件者清單是不是一個,而不是看寄件者

给我你的怀抱

試著睡一覺?在每個迴圈裡time.sleep(60)?

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板