From 15a6758c90e632c0e02e1dfa4fd0f7b52ccf602a Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Mon, 2 Dec 2013 17:14:24 +0530 Subject: [PATCH] [minor] [fix] error logging for pop --- webnotes/utils/email_lib/receive.py | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/webnotes/utils/email_lib/receive.py b/webnotes/utils/email_lib/receive.py index 7fb91060de..cc39a8f1ea 100644 --- a/webnotes/utils/email_lib/receive.py +++ b/webnotes/utils/email_lib/receive.py @@ -197,16 +197,8 @@ class POP3Mailbox: raise except: - error_msg = "Error in retrieving email." - if not incoming_mail: - # retrieve headers - incoming_mail = IncomingMail(b'\n'.join(self.pop.top(msg_num, 5)[1])) - - error_msg += "\nDate: {date}\nFrom: {from_email}\nSubject: {subject}\n".format( - date=incoming_mail.date, from_email=incoming_mail.from_email, subject=incoming_mail.subject) - # log performs rollback and logs error in scheduler log - log("receive.get_messages", error_msg) + log("receive.get_messages", self.make_error_msg(msg_num, incoming_mail)) self.errors = True webnotes.conn.rollback() @@ -227,4 +219,19 @@ class POP3Mailbox: raise TotalSizeExceededError else: raise EmailSizeExceededError + + def make_error_msg(self, msg_num, incoming_mail): + error_msg = "Error in retrieving email." + if not incoming_mail: + try: + # retrieve headers + incoming_mail = IncomingMail(b'\n'.join(self.pop.top(msg_num, 5)[1])) + except: + pass + + if incoming_mail: + error_msg += "\nDate: {date}\nFrom: {from_email}\nSubject: {subject}\n".format( + date=incoming_mail.date, from_email=incoming_mail.from_email, subject=incoming_mail.subject) + + return error_msg \ No newline at end of file