[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 ! :-)
Configuration: Windows XP
Internet Explorer 7.0

4 réponses

  1. 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
    1. seb
       
      Merci !
      0
  2. 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
  3. 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
  4. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    Ou alors en IMAP (il faut avoir activé IMAP dans les préférence GMail).
    0
    1. @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
      1. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684 > @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