Heim >Backend-Entwicklung >Python-Tutorial >Wie sende ich E-Mails mit dem smtplib-Modul von Python an mehrere Empfänger?
So senden Sie E-Mails an mehrere Empfänger mit Pythons smtplib
Das Senden einer E-Mail an mehrere Empfänger mithilfe des smtplib-Moduls erfordert eine geringfügige Anpassung im E-Mail-Header und die Funktionsparameter.
Das Problem tritt auf, wenn der „An“-Header im Modul „email.Message“ mit mehreren Adressen festgelegt wird. Während der Header durch Kommas getrennte E-Mail-Adressen enthalten sollte, erwartet die Funktion smtplib.sendmail() eine Liste von Empfängern.
Um dieses Problem zu beheben, sind die folgenden Schritte erforderlich:
<code class="python">msg = MIMEMultipart()</code>
<code class="python">msg["To"] = "[email protected],[email protected],[email protected]"</code>
<code class="python">to_addrs = msg["To"].split(",")</code>
<code class="python">smtp = smtplib.SMTP("mailhost.example.com", 25) smtp.sendmail(msg["From"], to_addrs + msg["Cc"].split(","), msg.as_string())</code>
<code class="python">smtp.quit()</code>
Bei diesem Ansatz wird die E-Mail an alle in den Headern „An“ und „Cc“ angegebenen Empfänger gesendet. Alternativ kann eine einfachere Lösung mit MIMEText() gefunden werden, wie unten gezeigt:
<code class="python">import smtplib from email.mime.text import MIMEText s = smtplib.SMTP('smtp.uk.xensource.com') s.set_debuglevel(1) msg = MIMEText("""body""") sender = '[email protected]' recipients = ['[email protected]', '[email protected]'] msg['Subject'] = "subject line" msg['From'] = sender msg['To'] = ", ".join(recipients) s.sendmail(sender, recipients, msg.as_string())</code>
Diese Version sendet eine E-Mail über eine einzige SMTP-Verbindung an die angegebenen Empfänger.
Das obige ist der detaillierte Inhalt vonWie sende ich E-Mails mit dem smtplib-Modul von Python an mehrere Empfänger?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!