Heim  >  Fragen und Antworten  >  Hauptteil

Es gibt ein kleines Problem beim Senden von E-Mails an mehrere Empfänger in Python.

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)

高洛峰高洛峰2711 Tage vor833

Antworte allen(2)Ich werde antworten

  • 滿天的星座

    滿天的星座2017-05-18 10:52:26

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

    Antwort
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-18 10:52:26

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

    Antwort
    0
  • StornierenAntwort