Email messages from grouped email using IMAPClient in Python.

DL Neil PythonList at DancesWithMice.info
Thu Sep 12 01:26:57 EDT 2019


On 12/09/19 5:06 PM, Srinivas Pullabhotla wrote:
> Hello,
> 
> I am trying to fetch email messages from a gmail inbox. So, there will be 1000s of messages sent to Inbox and since they are 1000s, the emails are grouped 100 per each email item.
> 
> When I tried this method, the program only fetches some but not all and especially it happens with grouped email messages. How can I get all the messages from that grouped email.
> 
> import email, time, sys
>      from imapclient import IMAPClient
> 
>      with IMAPClient(HOST) as server:
>          server.login(USERNAME, PASSWORD)
>          server.select_folder('INBOX', readonly=True)
> 
>          messages = server.search(['ALL', 'UNSEEN'])
>          for uid, message_data in server.fetch(messages, 'RFC822').items():
>              email_message = email.message_from_bytes(message_data[b'RFC822'])
>              print(email_message.get_payload(None, True))
> 
> 
> The program should fetch all the email messages from the grouped email and output to the file (in my case I am grabbing the href links). How best I can achieve this ? Appreciate thoughts and suggestions.


First debug is to assign the server.select_folder() return values, and 
subsequently print them for inspection. (know what you are dealing 
with/that you have been given something to work with)

The server.search() doesn't request ALL of the msgs. Are you sure those 
missing from the 'group' are not marked as 'read'? So, second debug 
would be to remove the 'UNSEEN' criteria and observe any difference.

-- 
Regards =dn



More information about the Python-list mailing list