python 发送邮件至多个收件人有一点小问题。

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

图片描述

图片描述

回答:

这应该是邮箱自己帮你合并显示的,你应该登录收件人的邮箱看看收件人列表是不是一个,而不是看发件人

回答:

试着睡一会?在每个循环里time.sleep(60)?

以上是 python 发送邮件至多个收件人有一点小问题。 的全部内容, 来源链接: utcz.com/a/156438.html

回到顶部