Skip to content
Snippets Groups Projects
Commit 9e2d61d3 authored by ale's avatar ale
Browse files

Fix use of undefined original_from

parent e850c57a
Branches
No related tags found
No related merge requests found
...@@ -117,7 +117,13 @@ class MailScanner(): ...@@ -117,7 +117,13 @@ class MailScanner():
def scan(self, unseen, limit=None): def scan(self, unseen, limit=None):
for uid, raw_msg in self._scan_mailbox(unseen, limit): for uid, raw_msg in self._scan_mailbox(unseen, limit):
try: try:
entry = self._parse_message(raw_msg)
self._to_delete.append(uid)
yield entry
except Exception as e:
print(f'error: {e}')
def _parse_message(self, raw_msg):
# Parse the ARF message body. # Parse the ARF message body.
msg = ARFMessage(raw_msg) msg = ARFMessage(raw_msg)
report_sender, _ = _normalize_addr( report_sender, _ = _normalize_addr(
...@@ -137,6 +143,7 @@ class MailScanner(): ...@@ -137,6 +143,7 @@ class MailScanner():
hdrs = msg.get_original_message_headers() hdrs = msg.get_original_message_headers()
is_list = False is_list = False
timestamp = datetime.now() timestamp = datetime.now()
original_from = None
if hdrs: if hdrs:
original_from = _hdr(hdrs, 'From') original_from = _hdr(hdrs, 'From')
...@@ -167,28 +174,20 @@ class MailScanner(): ...@@ -167,28 +174,20 @@ class MailScanner():
is_list = True is_list = True
if not original_from: if not original_from:
print('unable to extract original sender') raise Exception('unable to extract original sender')
continue
original_from, maybe_list = _normalize_addr(original_from) original_from, maybe_list = _normalize_addr(original_from)
if maybe_list and not is_list: if maybe_list and not is_list:
is_list = maybe_list is_list = maybe_list
entry = FeedbackEntry( print(f'original from: {original_from}, list={is_list}')
return FeedbackEntry(
sender=original_from, sender=original_from,
reporter=report_sender, reporter=report_sender,
is_list=is_list, is_list=is_list,
timestamp=timestamp, timestamp=timestamp,
message=raw_msg,
) )
if not is_list:
entry.message = raw_msg
print(f'original from: {original_from}, list={is_list}')
yield entry
self._to_delete.append(uid)
except Exception as e:
print(f'error: {e}')
#print(raw_msg)
def main(): def main():
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment