Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menghantar E-mel kepada Berbilang Penerima Menggunakan Modul smtplib Python?
Cara Menghantar E-mel kepada Berbilang Penerima dengan smtplib Python
Menghantar e-mel kepada berbilang penerima menggunakan modul smtplib memerlukan sedikit pelarasan dalam pengepala e-mel dan parameter fungsi.
Isu timbul apabila menetapkan pengepala "Kepada" dalam e-mel.Modul mesej dengan berbilang alamat. Walaupun pengepala harus mengandungi alamat e-mel yang dipisahkan koma, fungsi smtplib.sendmail() menjangkakan senarai penerima.
Untuk menyelesaikannya, langkah berikut diperlukan:
<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>
Pendekatan ini akan menghantar e-mel kepada semua penerima yang dinyatakan dalam pengepala "Kepada" dan "Sk". Sebagai alternatif, penyelesaian yang lebih mudah boleh didapati menggunakan MIMEText(), seperti ditunjukkan di bawah:
<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>
Versi ini menghantar e-mel kepada penerima yang ditentukan menggunakan sambungan SMTP tunggal.
Atas ialah kandungan terperinci Bagaimana untuk Menghantar E-mel kepada Berbilang Penerima Menggunakan Modul smtplib Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!