Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menghantar E-mel kepada Berbilang Penerima Menggunakan Python\'s smtplib.sendmail()?

Bagaimana untuk Menghantar E-mel kepada Berbilang Penerima Menggunakan Python\'s smtplib.sendmail()?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-26 05:28:02543semak imbas

How to Send Emails to Multiple Recipients Using Python's smtplib.sendmail()?

Menghantar E-mel kepada Berbilang Penerima menggunakan Python smtplib

Apabila cuba menggunakan smtplib.sendmail Python untuk menghantar e-mel kepada berbilang penerima, pengguna sering menghadapi masalah. Walaupun menyatakan berbilang alamat dalam pengepala e-mel, hanya penerima pertama yang menerima mesej.

Ini timbul daripada perbezaan jangkaan pemformatan antara modul e-mel.Mesej dan fungsi smtplib.sendmail(). Modul email.Message menerima alamat e-mel yang dibataskan koma dalam pengepala, manakala sendmail() memerlukan senarai alamat.

Untuk menghantar e-mel kepada berbilang penerima dengan berkesan menggunakan smtplib.sendmail, ikut langkah berikut:

  1. Buat mesej e-mel menggunakan e-mel.Modul MIMEMultipart.
  2. Tetapkan medan pengepala ("Dari", "Kepada", "Sk") untuk memasukkan berbilang alamat e-mel, dipisahkan dengan koma.
  3. Tetapkan parameter "Kepada" dalam fungsi sendmail() kepada senarai alamat e-mel penerima (boleh didapati dengan membelah medan pengepala yang dipisahkan koma).
  4. Tetapkan parameter "Daripada" kepada alamat e-mel pengirim.
  5. Karang isi e-mel menggunakan modul e-mel.MIMEText. Lampirkan badan pada mesej e-mel.
  6. Konfigurasikan sambungan ke pelayan SMTP anda dan hantar e-mel menggunakan sendmail().

Kod contoh untuk menghantar e-mel kepada berbilang penerima menggunakan smtplib .sendmail:

<code class="python">from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
import smtplib

msg = MIMEMultipart()
msg["Subject"] = "Example"
msg["From"] = "sender@example.com"
msg["To"] = "recipient1@example.com,recipient2@example.com,recipient3@example.com"
msg["Cc"] = "cc1@example.com,cc2@example.com"
body = MIMEText("example email body")
msg.attach(body)
smtp = smtplib.SMTP("mailhost.example.com", 25)
smtp.sendmail(msg["From"], msg["To"].split(",") + msg["Cc"].split(","), msg.as_string())
smtp.quit()</code>

Atas ialah kandungan terperinci Bagaimana untuk Menghantar E-mel kepada Berbilang Penerima Menggunakan Python\'s smtplib.sendmail()?. 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