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
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to