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

Susan Sarandon
Lepaskan: 2024-10-25 07:57:29
asal
146 orang telah melayarinya

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>
Salin selepas log masuk
  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>
Salin selepas log masuk
  1. Buat senarai penerima untuk fungsi sendmail():
<code class="python">to_addrs = msg["To"].split(",")</code>
Salin selepas log masuk
  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>
Salin selepas log masuk
  1. Keluar dari sesi SMTP:
<code class="python">smtp.quit()</code>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!