[Python] Envoi d'e-mail sur GMail

Résolu/Fermé
enneibaf - 4 janv. 2008 à 14:12
 seb - 9 juin 2017 à 10:57
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

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
Merci !
0
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
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 mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
4 févr. 2009 à 12:38
Ou alors en IMAP (il faut avoir activé IMAP dans les préférence GMail).
0
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 mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655 > @robaze
6 févr. 2009 à 08:55
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