Maison > développement back-end > Tutoriel Python > Comment envoyer des e-mails à plusieurs destinataires à l'aide de smtplib.sendmail() de Python ?

Comment envoyer des e-mails à plusieurs destinataires à l'aide de smtplib.sendmail() de Python ?

Mary-Kate Olsen
Libérer: 2024-10-26 05:28:02
original
719 Les gens l'ont consulté

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

Envoi d'un e-mail à plusieurs destinataires à l'aide de Python smtplib

Lorsqu'ils tentent d'utiliser smtplib.sendmail de Python pour envoyer un e-mail à plusieurs destinataires, les utilisateurs rencontrent souvent des problèmes. Malgré la spécification de plusieurs adresses dans l'en-tête de l'e-mail, seul le premier destinataire reçoit le message.

Cela résulte d'une disparité dans les attentes de formatage entre le module email.Message et la fonction smtplib.sendmail(). Le module email.Message accepte les adresses e-mail délimitées par des virgules dans l'en-tête, tandis que sendmail() nécessite une liste d'adresses.

Pour envoyer efficacement des e-mails à plusieurs destinataires à l'aide de smtplib.sendmail, suivez ces étapes :

  1. Créez un e-mail à l'aide du module email.MIMEMultipart.
  2. Définissez les champs d'en-tête ("De", "À", "Cc") pour inclure plusieurs adresses e-mail, séparées par des virgules.
  3. Définissez le paramètre "À" dans la fonction sendmail() sur une liste d'adresses e-mail de destinataires (obtenable en divisant le champ d'en-tête séparé par des virgules).
  4. Définissez le paramètre "De" sur l'adresse email de l'expéditeur.
  5. Composez le corps de l'e-mail à l'aide du module email.MIMEText. Joignez le corps au message électronique.
  6. Configurez une connexion à votre serveur SMTP et envoyez l'e-mail à l'aide de sendmail().

Exemple de code pour envoyer un e-mail à plusieurs destinataires à l'aide de 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>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal