Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menghantar E-mel kepada Berbilang Penerima Menggunakan Modul smtplib Python?

Bagaimana untuk Menghantar E-mel kepada Berbilang Penerima Menggunakan Modul smtplib Python?

Susan Sarandon
Susan Sarandonasal
2024-10-25 07:57:29133semak imbas

How to Send Emails to Multiple Recipients Using Python's smtplib Module?

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:

  1. Buat mesej e-mel menggunakan e-mel.Message.MIMEMultipart():
<code class="python">msg = MIMEMultipart()</code>
  1. Tetapkan pengepala e-mel dengan alamat e-mel yang dibataskan koma:
<code class="python">msg["To"] = "[email&#160;protected],[email&#160;protected],[email&#160;protected]"</code>
  1. Buat senarai penerima untuk fungsi sendmail():
<code class="python">to_addrs = msg["To"].split(",")</code>
  1. Gunakan fungsi sendmail() dengan senarai penerima:
<code class="python">smtp = smtplib.SMTP("mailhost.example.com", 25)
smtp.sendmail(msg["From"], to_addrs + msg["Cc"].split(","), msg.as_string())</code>
  1. Keluar dari sesi SMTP:
<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&#160;protected]'
recipients = ['[email&#160;protected]', '[email&#160;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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn