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
Mary-Kate Olsenoriginal
2024-10-26 05:28:02627parcourir

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>

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:
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