[Python] Envoi d'e-mail sur GMail

Résolu
enneibaf -  
 seb -
Bonjour,

Je souhaite écrire un programme permettant d'envoyer des e-mails via un compte GMail. Pour cela, j'ai la partie de code suivante :

import smtplib
s = smtplib.SMTP('smtp.gmail.com', '465', 'localhost')
s.login('blablabla@gmail.com', 'motdepasse')
s.sendmail(expediteur, destinataire, message)


Cependant, lorsque je lance ce programme, rien ne se passe, on dirait que le code reste "bloqué" sur la première ligne... J'ai également essayé avec le port 587 mais une erreur apparaît lors de l'authentification :
SMTP AUTH extension not supported by server


Est-ce que quelqu'un peut m'aider et me dire ce qui manque ?
Merci d'avance ! :-)
A voir également:

4 réponses

Titi
 
import smtplib

src = "moi@gmail.com"
password = "mon_password"
dest = "lautre@gmail.com"

def send(text):
mail = "To: " + dest + "\nFrom: " + src + "\nSubject: coucou\n\n" + text

smtp = smtplib.SMTP('smtp.gmail.com')
smtp.set_debuglevel(1)
smtp.ehlo()
smtp.starttls()
smtp.ehlo()
smtp.login(src, password)
smtp.sendmail(src, dest, mail)
smtp.close()

Voila une p'tite fonction simple, qui marche avec gmail :)

Titi
5
seb
 
Merci !
0
Caddy
 
Bonjour!
Desolee, je n'ai pas repose a ton probleme. J'aimerais savoir si tu peux partager ton code car j'ai des problemes lors de l'envoi de mails avec le mien. Merci d'avance.
0
7amma
 
Essaie d'utiliser smtplib.SMTP_SSL (avec les meme paramètres)
Cette classe n'est dispo qu'a partir de python 2.6, su coup il faut que tu le mette à jour
(en fait il faut SSL pour gmail et yahoo, il se peut que ta fonction fonctionne bien avec d'autres serveurs)

AhmeD.
0
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
Ou alors en IMAP (il faut avoir activé IMAP dans les préférence GMail).
0
@robaze
 
salut seb,
dis mois saurais tu comment je peut faire pour afficher l'heure dans un label en python tout en gardant l'heure à jour?
C'est à dire dans un label j'affiche l'heure du système en tapant:
self.label.setText(QtGui.QApplication.translate("Dialog",time.strftime('%H:%M:%S',time.localtime()), None, QtGui.QApplication.UnicodeUTF8))
Malheureusement j'arrive pas a rafraichire les seconde, tu saurais pas comment m'aider?
merci!
0
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662 > @robaze
 
Je n'ai jamais fait de Qt, mais en tk tu peux armer un timer qui se déclenche toutes les x millisecondes.
On devrait pouvoir faire la même chose en Qt.
0