コード例 #1
0
    def test_send_messages_without_ses(self):
        """Testing EmailBackend.send_messages without Amazon SES"""
        self._spy_on_smtp((250, b'Ok something'))

        backend = EmailBackend(host='mail.example.com')
        self.assertFalse(backend.is_ses)

        message = self._create_message()
        backend.send_messages([message])

        self.assertEqual(message.message_id, '<*****@*****.**>')
コード例 #2
0
    def test_send_messages_with_ses_and_no_250(self):
        """Testing EmailBackend.send_messages with Amazon SES and no 250 Ok"""
        self._spy_on_smtp((451, b'Oh no'))

        backend = EmailBackend(host='email-smtp.us-east-1.amazonaws.com')
        self.assertTrue(backend.is_ses)

        message = self._create_message()

        with self.assertRaises(SMTPDataError):
            backend.send_messages([message])

        self.assertEqual(message.message_id, '<*****@*****.**>')
コード例 #3
0
    def test_send_messages_with_ses_and_250_ok_too_long(self):
        """Testing EmailBackend.send_messages with Amazon SES and 250 Ok
        with too many trailing values
        """
        self._spy_on_smtp((250, b'Ok something something'))

        backend = EmailBackend(host='email-smtp.us-east-1.amazonaws.com')
        self.assertTrue(backend.is_ses)

        message = self._create_message()
        backend.send_messages([message])

        self.assertEqual(message.message_id, '<*****@*****.**>')
コード例 #4
0
    def test_send_messages_with_ses_and_250_ok_no_msgid(self):
        """Testing EmailBackend.send_messages with Amazon SES and 250 Ok
        without a message ID
        """
        self._spy_on_smtp((250, b'Ok'))

        backend = EmailBackend(host='email-smtp.us-east-1.amazonaws.com')
        self.assertTrue(backend.is_ses)

        message = self._create_message()
        backend.send_messages([message])

        self.assertEqual(message.message_id, '<*****@*****.**>')
コード例 #5
0
    def test_send_messages_with_ses_and_250_ok(self):
        """Testing EmailBackend.send_messages with Amazon SES and 250 Ok with
        message ID
        """
        message_uuid = \
            '1234567abcd12345-6789abcd-1234-a1b2-c3d4-012345abcdef-000000'

        self._spy_on_smtp((250, b'Ok %s' % message_uuid.encode('utf-8')))

        # We're going to run this test for every region, to ensure that
        # there aren't any issues with the differences between regions.
        for mail_host, mail_info in six.iteritems(self.SES_HOSTS):
            backend = EmailBackend(host=mail_host)
            self.assertTrue(backend.is_ses)

            message = self._create_message()
            backend.send_messages([message])

            self.assertEqual(
                message.message_id,
                '<%s@%s>' % (message_uuid, mail_info['msgid_domain']))
コード例 #6
0
 def test_ses_message_id_domain(self):
     """Testing EmailBackend.ses_message_id_domain"""
     for mail_host, mail_info in six.iteritems(self.SES_HOSTS):
         backend = EmailBackend(host=mail_host)
         self.assertEqual(backend.ses_message_id_domain,
                          mail_info['msgid_domain'])
コード例 #7
0
 def test_is_ses_without_ses(self):
     """Testing EmailBackend.is_ses without Amazon SES SMTP hostname"""
     backend = EmailBackend(host='mail.example.com')
     self.assertFalse(backend.is_ses)
コード例 #8
0
 def test_is_ses_with_ses(self):
     """Testing EmailBackend.is_ses with Amazon SES SMTP hostname"""
     for host in six.iterkeys(self.SES_HOSTS):
         backend = EmailBackend(host=host)
         self.assertTrue(backend.is_ses,
                         msg='EmailBackend.is_ses failed for %s' % host)