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.

2 Réponses à “Envoyer un email en Python”

  1. leau2001 dit :

    Bonjour,

    Et pour recevoir un mail en python on fait comment ?

    Merci

  2. Damien dit :

    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

Laisser une réponse

 
Fork me on GitHub