def setUp(self):
        super(FlaggingBouncedMailWriteItDefault, self).setUp()
        self.message = Message.objects.get(id=1)
        self.contact = Contact.objects.get(
            value="*****@*****.**")
        self.outbound_message = OutboundMessage.objects.create(
            message=self.message,
            contact=self.contact,
            site=Site.objects.get_current())
        identifier = OutboundMessageIdentifier.objects.get(
            outbound_message=self.outbound_message)
        identifier.key = "4aaaabbb"
        identifier.save()

        self.bounced_email = ""
        with open('mailit/tests/fixture/bounced_mail2.txt') as f:
            self.bounced_email += f.read()
        f.close()
        self.handler = EmailHandler(answer_class=OutboundMessageAnswer)
        self.answer = self.handler.handle(self.bounced_email)
        self.answer.send_back()
Exemple #2
0
    def handle(self, *args, **options):
        lines = sys.stdin.readlines()
        if settings.INCOMING_EMAIL_LOGGING == 'ALL':
            if not settings.ADMINS:
                return
            text_content = "New incomming email"
            subject = "New incomming email"

            mail = EmailMultiAlternatives(
                '%s%s' % (settings.EMAIL_SUBJECT_PREFIX, subject),
                text_content,  # content
                settings.DEFAULT_FROM_EMAIL,  # From
                [a[1] for a in settings.ADMINS]  # To
            )
            mail.attach('mail.txt', ''.join(lines), 'text/plain')
            mail.send()

        handler = EmailHandler(answer_class=AnswerForManageCommand)
        try:
            answer = handler.handle(lines)
            answer.send_back()
        except CouldNotFindIdentifier:
            pass
        except TemporaryFailure:
            pass
        except:
            tb = traceback.format_exc()
            text_content = "Error the traceback was:\n" + tb
            #mail_admins('Error handling incoming email', html_message, html_message=html_message)
            subject = "Error handling incoming email"
            mail = EmailMultiAlternatives(
                '%s%s' % (settings.EMAIL_SUBJECT_PREFIX, subject),
                text_content,  # content
                settings.DEFAULT_FROM_EMAIL,  # From
                [a[1] for a in settings.ADMINS],  # To
            )
            mail.attach('mail.txt', ''.join(lines), 'text/plain')
            mail.send()
 def test_temporary_failure_raises_temp_fail_error(self):
     handler = EmailHandler(answer_class=AnswerForManageCommand)
     with self.assertRaises(TemporaryFailure):
         handler.handle(temporary_fail_mock())
 def test_temporary_failure_raises_temp_fail_error(self):
     handler = EmailHandler(answer_class=OutboundMessageAnswer)
     with self.assertRaises(TemporaryFailure):
         handler.handle(temporary_fail_mock())