129 votes

python : comment envoyer un mail avec TO, CC et BCC ?

J'ai besoin, à des fins de test, de remplir quelques centaines de boîtes aux lettres électroniques avec divers messages, et j'allais utiliser smtplib pour cela. Mais j'ai besoin, entre autres, de pouvoir envoyer des messages non seulement à des boîtes aux lettres spécifiques, mais aussi de les CC et BCC. Il ne semble pas que smtplib permet d'envoyer des CC et des BCC lors de l'envoi de courriels.

Je cherche des suggestions sur la façon d'envoyer des messages CC ou BCC à partir du script python script.

(Et - non, je ne suis pas en train de créer un script pour spammer quiconque en dehors de mon environnement de test).

19voto

foosion Points 1737

Vous pouvez essayer MIMEText

msg = MIMEText('text')
msg['to'] = 
msg['cc'] = 

puis envoyer msg.as_string()

https://docs.python.org/3.6/library/email.examples.html

4 votes

Cet exemple n'utilise pas CC

1 votes

Je suis d'accord que les exemples sur le lien ci-dessus ne traitent pas Bcc. C'est ce que @hoju voulait probablement dire.

6voto

marko_b123 Points 160

Il n'a pas fonctionné pour moi jusqu'à ce que je le crée :

#created cc string
cc = ""someone@domain.com;
#added cc to header
msg['Cc'] = cc

et ensuite ajouté cc dans la [liste] des destinataires comme :

s.sendmail(me, [you,cc], msg.as_string())

6voto

Chan Gaikwad Points 111

Aucune des méthodes ci-dessus n'a fonctionné pour moi car j'avais plusieurs destinataires dans les champs 'to' et 'cc'. J'ai donc essayé comme ci-dessous :

recipients = ['abc@gmail.com', 'xyz@gmail.com']
cc_recipients = ['lmn@gmail.com', 'pqr@gmail.com']
MESSAGE['To'] = ", ".join(recipients)
MESSAGE['Cc'] = ", ".join(cc_recipients)

et étendez le champ "recipients" avec "cc_recipients" et envoyez le courrier de manière triviale.

recipients.extend(cc_recipients)
server.sendmail(FROM,recipients,MESSAGE.as_string())

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X