Boire ou coder ... Pourquoi choisir?
Publié le 07 juin 2009 22:00

Envoyer un email en Python

De la même manière que en Ruby, Django propose une solution d'envoi d'email. Mais toute application Python n'utilise pas forcément Django. Et il peut arriver d'avoir besoin d'envoyer un email sans Django.

C'est ce que j'ai fait en développant l'outil de rapport de positions par email de RefStats.

Pour cela, nous allons utiliser la librairie smtplib. Commençons par importer cette librairie. import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

Puis envoyons notre email. msg = MIMEMultipart('alternative')
msg['Subject'] = 'Sujet de l\'email' msg.attach(MIMEText('contenu texte', 'text')) msg.attach(MIMEText('contenu html', 'html')) email = smtplib.SMTP() email.connect('localhost') # email d'envoi - email de réception - message email.sendmail('noreply@dmathieu.com', 'you@example.org', msg.as_string()) email.close()

Nous instancions l'email, y définissions son sujet. Ainsi que du contenu html et du contenu texte. Puis nous nous connectons au serveur smtp (ici localhost) et envoyons l'email.

Commentaires

leau2001
leau2001 dit: 28 juillet 2009 22:00

Bonjour,

Et pour recevoir un mail en python on fait comment ?

Merci

Damien
Damien dit: 01 août 2009 22:00 Site web

Bonjour,

Il suffit de se connecter au serveur POP ou IMAP et de checker les emails présents. http://docs.python.org/library/imaplib.html

Postez un commentaire

Markdown activé