python 发送邮件至多个收件人有一点小问题。
高洛峰
高洛峰 2017-05-18 10:50:26
0
2
839

想向一多个用户发邮件,于是写了发送方法,然后循环读取文件,想让收件人看到邮件中的收件人只有自己,但是收件人还是显示列表中的多个而且是文件中第一个人收件人看到一个,第二个收件人看到前两个像是追加到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)?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!