Example #1
0
    def test_parse(self):
        recipient = 'unsubscribe-{}@test.munch.example.com'.format(
            get_mail_identifier())
        unsubscribe = UNSUBSCRIBE_EMAIL.replace('||TO||', recipient)
        unsubscribe = unsubscribe.replace('||RETURNPATH||', recipient)
        message = email.message_from_string(unsubscribe)
        envelope = Envelope()
        envelope.parse_msg(message)
        envelope.recipients = [recipient]
        handler = UnsubscribeHandler(envelope, message)

        main_headers = dict(handler.message)

        self.assertEqual(main_headers['To'], recipient)
Example #2
0
    def test_parse(self):
        recipient = 'return-{}@test.munch.example.com'.format(
            get_mail_identifier())
        arf = ARF_REPORT.replace('||TO||', recipient)
        arf = arf.replace('||RETURNPATH||', recipient)
        message = email.message_from_string(arf)
        envelope = Envelope()
        envelope.parse_msg(message)
        envelope.recipients = [recipient]
        handler = ARFHandler(envelope, message)

        main_headers = email.message_from_string(handler.message.as_string())
        orig_headers = handler.get_original()
        report_headers = handler.get_report()

        self.assertEqual(orig_headers['Return-Path'], recipient)
        self.assertEqual(report_headers['Feedback-Type'], 'abuse')
        self.assertEqual(main_headers['Date'], 'Thu, 8 Mar 2005 17:40:36 EDT')
Example #3
0
    def test_unknown_identifier(self):
        recipient = 'return-{}@test.munch.example.com'.format(
            get_base_mail_identifier())
        unsubscribe = UNSUBSCRIBE_EMAIL.replace('||TO||', recipient)
        unsubscribe = unsubscribe.replace('||RETURNPATH||', recipient)
        message = email.message_from_string(unsubscribe)
        envelope = Envelope()
        envelope.parse_msg(message)
        envelope.recipients = [recipient]
        handler = UnsubscribeHandler(envelope, message)
        self.assertIsNone(handler.apply())

        recipient = 'return-{}@test.munch.example.com'.format(
            get_mail_identifier())
        unsubscribe = UNSUBSCRIBE_EMAIL.replace('||TO||', recipient)
        unsubscribe = unsubscribe.replace('||RETURNPATH||', recipient)
        message = email.message_from_string(unsubscribe)
        envelope = Envelope()
        envelope.parse_msg(message)
        envelope.recipients = [recipient]
        handler = UnsubscribeHandler(envelope, message)
        self.assertIsNone(handler.apply())
Example #4
0
    def test_unknown_identifier(self):
        recipient = 'return-{}@test.munch.example.com'.format(
            get_base_mail_identifier())
        arf = ARF_REPORT.replace('||TO||', '*****@*****.**')
        arf = arf.replace('||RETURNPATH||', recipient)
        message = email.message_from_string(arf)
        envelope = Envelope()
        envelope.parse_msg(message)
        envelope.recipients = [recipient]
        handler = ARFHandler(envelope, message)
        self.assertIsNone(handler.apply())

        recipient = 'return-{}@test.munch.example.com'.format(
            get_mail_identifier())
        arf = ARF_REPORT.replace('||TO||', '*****@*****.**')
        arf = arf.replace('||RETURNPATH||', recipient)
        message = email.message_from_string(arf)
        envelope = Envelope()
        envelope.parse_msg(message)
        envelope.recipients = [recipient]
        handler = ARFHandler(envelope, message)
        self.assertIsNone(handler.apply())
Example #5
0
    def test_unknown_identifier(self):
        recipient = 'return-{}@test.munch.example.com'.format(
            get_base_mail_identifier())
        dsn = DSN_REPORT.replace('||TO||', recipient)
        dsn = dsn.replace('||RETURNPATH||', 'foo@bar')
        message = email.message_from_string(dsn)
        envelope = Envelope()
        envelope.parse_msg(message)
        envelope.recipients = [recipient]
        handler = DSNHandler(envelope, message)
        self.assertIsNone(handler.apply())

        recipient = 'return-{}@test.munch.example.com'.format(
            get_mail_identifier())
        dsn = DSN_REPORT.replace('||TO||', recipient)
        dsn = dsn.replace('||RETURNPATH||', 'foo@bar')
        message = email.message_from_string(dsn)
        envelope = Envelope()
        envelope.parse_msg(message)
        envelope.recipients = [recipient]
        handler = DSNHandler(envelope, message)
        self.assertIsNone(handler.apply())
Example #6
0
    def test_parse(self):
        recipient = 'return-{}@test.munch.example.com'.format(
            get_mail_identifier())
        dsn = DSN_REPORT.replace('||TO||', recipient)
        dsn = dsn.replace('||RETURNPATH||', recipient)
        message = email.message_from_string(dsn)
        envelope = Envelope()
        envelope.parse_msg(message)
        envelope.recipients = [recipient]
        handler = DSNHandler(envelope, message)

        main_headers = email.message_from_string(handler.message.as_string())
        report_headers = handler.get_report()

        self.assertEqual(main_headers['To'], recipient)

        self.assertEqual(
            report_headers['Arrival-Date'],
            'Mon,  1 Sep 2014 17:36:45 +0000 (UTC)')
        self.assertEqual(report_headers['Diagnostic-Code'], 'smtp; 250 OK')
        self.assertEqual(report_headers['Status'], '2.0.0')
        self.assertEqual(report_headers['Action'], 'relayed')