Loading gettor/parse/email.py +7 −1 Original line number Diff line number Diff line Loading @@ -84,6 +84,11 @@ class EmailParser(object): "Email address normalized and validated.", system="email parser" ) # Add a check for auto-generated mail-daemon emails if "mailer-daemon@" in norm_addr.lower(): raise AddressError("Received mail from Mail Delivery System {}" .format(msg['From'])) return True else: Loading Loading @@ -206,7 +211,8 @@ class EmailParser(object): try: self.validate(norm_addr, msg) except AddressError as e: log.message("Address error: {}".format(e.args)) log.msg("Address error: {}".format(e.args)) return {} hid = hashlib.sha256(norm_addr.encode('utf-8')) log.msg( Loading tests/test_email_service.py +7 −0 Original line number Diff line number Diff line Loading @@ -289,6 +289,13 @@ class EmailServiceTests(unittest.TestCase): ">\n") self.assertEqual(request["command"], "help") def test_bounce(self): ep = conftests.EmailParser(self.settings, "gettor@torproject.org") request = ep.parse("From: MAILER-DAEMON@mx1.riseup.net\n" "Subject: Undelivered Mail Returned to Sender\r\n" "To: gettor@torproject.org\n osx en\n") self.assertEqual(request, {}) if __name__ == "__main__": unittest.main() Loading
gettor/parse/email.py +7 −1 Original line number Diff line number Diff line Loading @@ -84,6 +84,11 @@ class EmailParser(object): "Email address normalized and validated.", system="email parser" ) # Add a check for auto-generated mail-daemon emails if "mailer-daemon@" in norm_addr.lower(): raise AddressError("Received mail from Mail Delivery System {}" .format(msg['From'])) return True else: Loading Loading @@ -206,7 +211,8 @@ class EmailParser(object): try: self.validate(norm_addr, msg) except AddressError as e: log.message("Address error: {}".format(e.args)) log.msg("Address error: {}".format(e.args)) return {} hid = hashlib.sha256(norm_addr.encode('utf-8')) log.msg( Loading
tests/test_email_service.py +7 −0 Original line number Diff line number Diff line Loading @@ -289,6 +289,13 @@ class EmailServiceTests(unittest.TestCase): ">\n") self.assertEqual(request["command"], "help") def test_bounce(self): ep = conftests.EmailParser(self.settings, "gettor@torproject.org") request = ep.parse("From: MAILER-DAEMON@mx1.riseup.net\n" "Subject: Undelivered Mail Returned to Sender\r\n" "To: gettor@torproject.org\n osx en\n") self.assertEqual(request, {}) if __name__ == "__main__": unittest.main()