fix mail read errors

This commit is contained in:
2025-07-15 18:59:09 +02:00
parent ea07867b67
commit f71650c347
+12 -7
View File
@@ -103,7 +103,7 @@ class MailReader():
folder_list = self.show_folders(imap) folder_list = self.show_folders(imap)
for folder in folder_list: for folder in folder_list:
print("folder is " + folder) print("folder is " + folder)
if folder is "Sent" or folder is "Drafts": if folder == "Sent" or folder == "Drafts":
pass pass
else: else:
mail_list.extend(self._get_messages_from_folder_for_imapclient(imap, folder=folder)) mail_list.extend(self._get_messages_from_folder_for_imapclient(imap, folder=folder))
@@ -172,10 +172,12 @@ class MailReader():
search_terms = 'SINCE "{}"'.format( search_terms = 'SINCE "{}"'.format(
datetime.datetime.today().strftime( datetime.datetime.today().strftime(
date_format)) date_format))
print("search terms is " + search_terms) print("{}: search terms is {}".format(self.login,search_terms))
imap.select_folder(folder) imap.select_folder(folder)
messages = imap.search(['SINCE', datetime.datetime.today()]) messages = imap.search(['SINCE', datetime.datetime.today()])
print("%d messages from our best friend" % len(messages)) print("{}: {} messages from our best friend".format(self.login, len(messages)))
if len(messages) ==0:
return mail_messages
for uid, message_data in imap.fetch(messages, 'RFC822').items(): for uid, message_data in imap.fetch(messages, 'RFC822').items():
try: try:
email_message = email.message_from_bytes(message_data[b'RFC822']) email_message = email.message_from_bytes(message_data[b'RFC822'])
@@ -263,7 +265,7 @@ def find_links_to_validate_from_mail_list(mail_list: list, logger):
contact_to_book_list = MONGO_STORE_MANAGER.get_all_contact_to_book_list() contact_to_book_list = MONGO_STORE_MANAGER.get_all_contact_to_book_list()
successful_items = MONGO_STORE_MANAGER.get_all_successful_items_for_day() successful_items = MONGO_STORE_MANAGER.get_all_successful_items_for_day()
mails_messages = [] mails_messages = []
with ThreadPoolExecutor(max_workers=len(mail_list)) as executor: with ThreadPoolExecutor(max_workers=200) as executor:
for mail in mail_list: for mail in mail_list:
# check whether we need to read mail # check whether we need to read mail
if need_to_check_email(mail.mail, successful_items): if need_to_check_email(mail.mail, successful_items):
@@ -277,7 +279,10 @@ def find_links_to_validate_from_mail_list(mail_list: list, logger):
_item = find_item_by_url(url, _refreshed_successful_items) _item = find_item_by_url(url, _refreshed_successful_items)
if need_to_valid_url(url, _item): if need_to_valid_url(url, _item):
logger.info("need to validate url: " + url) logger.info("need to validate url: " + url)
MONGO_STORE_MANAGER.save_links_to_validate(url, mail.to_address, model=_item.model, _model = ""
if _item:
_model = _item.model
MONGO_STORE_MANAGER.save_links_to_validate(url, mail.to_address, model=_model,
_all_contact_list=contact_to_book_list) _all_contact_list=contact_to_book_list)
else: else:
logger.info("do not need to click url --> {}".format(mail.mail_address)) logger.info("do not need to click url --> {}".format(mail.mail_address))
@@ -290,8 +295,8 @@ if __name__ == '__main__':
# file_name="/Users/rdv/Desktop/contact_list_not_used_contacts.xlsx") # file_name="/Users/rdv/Desktop/contact_list_not_used_contacts.xlsx")
# file_name="/Users/lpan/Desktop/contact_list_not_used_contacts.xlsx") # file_name="/Users/lpan/Desktop/contact_list_not_used_contacts.xlsx")
# file_name="/Users/rdv/Desktop/real_name_contacts_100_hotmail.xlsx") # file_name="/Users/rdv/Desktop/real_name_contacts_100_hotmail.xlsx")
# file_name="/Users/lpan/Desktop/contact_list_2025-06-27.xlsx") # file_name="~/Desktop/contact_list_2025-07-11.xlsx")
file_name="/Users/lpan/Desktop/contact_list_all_studio.xlsx") file_name="~/Desktop/contact_list_all_studio.xlsx")
# file_name="/Users/rdv/Desktop/contact_list_all_studo_gmx_us.xlsx") # file_name="/Users/rdv/Desktop/contact_list_all_studo_gmx_us.xlsx")
# file_name="/Users/rdv/Desktop/contact_list_2025-05-24.xlsx") # file_name="/Users/rdv/Desktop/contact_list_2025-05-24.xlsx")
all_mail_list = MONGO_STORE_MANAGER.get_destination_emails() all_mail_list = MONGO_STORE_MANAGER.get_destination_emails()