IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau/Web Python Discussion :

Récupérer des messages sur un compte gmail


Sujet :

Réseau/Web Python

  1. #1
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 752
    Points
    1 752
    Par défaut Récupérer des messages sur un compte gmail
    Bonjour,
    je cherche à récupérer via un script Python des mails qui sont sur un compte GMail. L'idée est de faire analyser ensuite le contenu de ces mails par un script Python afin d'éliminer des courriers indésirables.

    Toute info. est la bienvenue.

  2. #2
    Membre expérimenté Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Points : 1 728
    Points
    1 728
    Par défaut
    Gmail propose l'utilisation du protocole imap (à activer dans les paramétres > Transfert et POP/IMAP > Accès IMAP).
    "Etre conscient de la difficulté permet de l'éviter.."
    Lao-Tseu.

  3. #3
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 752
    Points
    1 752
    Par défaut Pas si simple...
    J'ai essayé le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    # -*- coding: utf-8 -*- 
    #!/usr/bin/env python
     
    import poplib
     
    # Astruce donnée ici : http://www.developpez.net/forums/newreply.php?do=newreply&noquote=1&p=4170410
    # Gmail propose l'utilisation du protocole imap (à activer dans les paramétres > Transfert et POP/IMAP > Accès IMAP).
     
    # Code venant du livre Python Phrasebook: Essential Code and Commands 
    M = poplib.POP3('')
     
    login= "monAdresse@gmail.com"
    code="monCode"
     
    mServer = poplib.POP3('pop.gmail.com')
     
    #Login to mail server
    mServer.user(login)
    mServer.pass_(code)
     
    #Get the number of mail messages
    numMessages = len(mServer.list()[1])
     
    print "You have %d messages." % (numMessages)
    print "Message List:"
     
    #List the subject line of each message
    for mList in range(numMessages) :
        for msg in mServer.retr(mList+1)[1]:
            if msg.startswith('Subject'):
                print '\t' + msg
                break
     
    mServer.quit()
    Et cela ne fonctionne pas. Il doit y avoir des sécurités.

    En revanche ce code fonctionne sans problème avec mon compte usuel donné par mon FAI.

    Quelqu'un pense-t-il qu'il est possible de contourner le problème ? Je veux passer par un compte gmail afin de récupérer des adresses d'inscription à un site. En cas de problème cela m'évitera de bloquer ma boîte usuelle avec des spams.

  4. #4
    Membre expérimenté Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Points : 1 728
    Points
    1 728
    Par défaut
    lorsque tu actives l'option POP3 ou IMAP, tu as un lien vers la configuration des clients de messagerie, tu y trouveras les ports et le chiffrement à utiliser.
    "Etre conscient de la difficulté permet de l'éviter.."
    Lao-Tseu.

  5. #5
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 752
    Points
    1 752
    Par défaut
    Merci tu m'as mis sur la bonne voie. En fait, il faut utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    poplib.POP3_SSL('pop.gmail.com')
    et non
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    poplib.POP3('pop.gmail.com')
    Merci c'est sympa ces protocoles (c'est juste inquiétant qu'ils soient aussi ouverts... ).

    J'aurais dû prendre le temps de mieux lire les explications sur gmail...

  6. #6
    Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Avril 2016
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Je suis actuellement entrain de faire ce que tu faisais en 2009, j'ai besoin de récupérer l'objet et le contenu du mail dans deux tableaux ou variable différente.
    Mais ton code ne marche pas pour moi malgré que j'ai changé les paramètres. J'ai un autre programme qui va me chercher l'objet mais je n'arrive pas à récupérer
    le contenu du mail...

    Merci par avance pour l'aide

    Voici ton code que j'ai testé:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    import poplib
     
    # Astruce donnée ici : http://www.developpez.net/forums/newreply.php?do=newreply&noquote=1&p=4170410
    # Gmail propose l'utilisation du protocole imap (à activer dans les paramétres > Transfert et POP/IMAP > Accès IMAP).
     
    # Code venant du livre Python Phrasebook: Essential Code and Commands 
    M = poplib.POP3('')
     
    login= "monAdresse@gmail.com"
    code="monCode"
     
    mServer = poplib.POP3_SSL('pop.gmail.com')
     
    #Login to mail server
    mServer.user(login)
    mServer.pass_(code)
     
    #Get the number of mail messages
    numMessages = len(mServer.list()[1])
     
    print "You have %d messages." % (numMessages)
    print "Message List:"
     
    #List the subject line of each message
    for mList in range(numMessages) :
        for msg in mServer.retr(mList+1)[1]:
            if msg.startswith('Subject'):
                print '\t' + msg
                break
     
    mServer.quit()

  7. #7
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Je n'ai pas essayé, mais depuis 2009, il est arrivé le module imaplib qui semble plus approprié pour gmail.

    Avec google, on trouve pas mal de codes sur le sujet. Exemple: https://gist.github.com/robulouski/7441883.
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  8. #8
    Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Avril 2016
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Merci pour ta réponse et désolé du retard je suis en Californie donc 9h de décalage horaire.

    Honnêtement je n'ai rien trouvé sur github qui marche... Si tu as un bon tuyau je suis preneur stp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/09/2010, 14h52
  2. Récupérer des données sur un compte ftp free
    Par Mistervanhalen dans le forum Réseau
    Réponses: 6
    Dernier message: 24/08/2007, 18h05
  3. [servlet] Récupérer des infos sur le client
    Par kenito dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 07/09/2005, 18h08
  4. Récupérer des infos sur un AVI
    Par FredericB dans le forum C++Builder
    Réponses: 2
    Dernier message: 08/12/2003, 14h25
  5. Réponses: 6
    Dernier message: 28/09/2003, 17h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo