Heim > Fragen und Antworten > Hauptteil
Ich wollte E-Mails an mehrere Benutzer senden, also habe ich eine Sendemethode geschrieben und dann die Datei in einer Schleife gelesen. Ich wollte, dass der Empfänger sieht, dass der einzige Empfänger in der E-Mail ich selbst war, aber die Empfänger zeigten immer noch mehrere Empfänger an Der erste Empfänger in der Datei sieht eine, und der zweite Empfänger sieht die ersten beiden, als wären sie an die Liste angehängt. Wenn to_addr jedoch im Anruf ausgedruckt wird, gibt es nur eine Adresse, nicht mehrere Adressen. Adresse.
Ich habe es später gesendet und mit msg['To'] kommentiert, um die Anzeige der Empfänger zu vermeiden, aber ich wollte verstehen, warum mehrere Empfänger angezeigt wurden.
Bitte helfen Sie mir bei der Analyse.
#!/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)