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.
Version imprimable
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.
Gmail propose l'utilisation du protocole imap (à activer dans les paramétres > Transfert et POP/IMAP > Accès IMAP).
J'ai essayé le code suivant :
Et cela ne fonctionne pas. Il doit y avoir des sécurités.Code:
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()
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.
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.
Merci tu m'as mis sur la bonne voie. :king: En fait, il faut utiliser :
et nonCode:poplib.POP3_SSL('pop.gmail.com')
Merci c'est sympa ces protocoles (c'est juste inquiétant qu'ils soient aussi ouverts... 8O ).Code:poplib.POP3('pop.gmail.com')
J'aurais dû prendre le temps de mieux lire les explications sur gmail... :roll:
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:
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()
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.
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