예제 #1
0
파일: tests.py 프로젝트: beproud/bpmailer
    def test_bcc(self):
        send_template_mail(
            u'mailer/mail.tpl',
            u'差出人 <*****@*****.**>',
            [u'差出人 <*****@*****.**>'],
            bcc=[u'宛先 <*****@*****.**>'],
            extra_context={
                'subject': u'これは\r改行\nの\nある\r\n件名',
                'body': u'本文',
            },
            fail_silently=False,
        )

        self.assertEquals(len(django_mail.outbox), 1)

        mail_message = django_mail.outbox[0]

        message = mail_message.message()
        self.assertEquals(str(message['To']),
                          '=?UTF-8?b?5beu5Ye65Lq6?= <*****@*****.**>')
        self.assertEquals(str(message['From']),
                          '=?UTF-8?b?5beu5Ye65Lq6?= <*****@*****.**>')

        # Bcc is not included in email headers
        self.assertEquals(message['Bcc'], None)

        self.assertTrue(u'宛先 <*****@*****.**>' in django_mail.outbox[0].bcc)
예제 #2
0
    def test_cc(self):
        send_template_mail(
            u'mailer/mail.tpl',
            u'差出人 <*****@*****.**>',
            [u'差出人 <*****@*****.**>'],
            cc=[u'宛先 <*****@*****.**>'],
            extra_context={
                'subject': u'これは\r改行\nの\nある\r\n件名',
                'body': u'本文',
            },
            fail_silently=False,
        )

        self.assertEquals(len(django_mail.outbox), 1)

        mail_message = django_mail.outbox[0]

        message = mail_message.message()
        self.assertEquals(
            str(message['To']),
            '=?utf-8?b?5beu5Ye65Lq6?= <*****@*****.**>')
        self.assertEquals(str(message['Cc']),
                          '=?utf-8?b?5a6b5YWI?= <*****@*****.**>')
        self.assertEquals(
            str(message['From']),
            '=?utf-8?b?5beu5Ye65Lq6?= <*****@*****.**>')
예제 #3
0
    def test_bcc(self):
        send_template_mail(
            u'mailer/mail.tpl',
            u'差出人 <*****@*****.**>',
            [u'差出人 <*****@*****.**>'],
            bcc=[u'宛先 <*****@*****.**>'],
            extra_context={
                'subject': u'これは\r改行\nの\nある\r\n件名',
                'body': u'本文',
            },
            fail_silently=False,
        )

        self.assertEquals(len(django_mail.outbox), 1)

        mail_message = django_mail.outbox[0]

        message = mail_message.message()
        self.assertEquals(
            str(message['To']),
            '=?utf-8?b?5beu5Ye65Lq6?= <*****@*****.**>')
        self.assertEquals(
            str(message['From']),
            '=?utf-8?b?5beu5Ye65Lq6?= <*****@*****.**>')

        # Bcc is not included in email headers
        self.assertEquals(message['Bcc'], None)

        self.assertTrue(
            u'宛先 <*****@*****.**>' in django_mail.outbox[0].bcc)
예제 #4
0
    def test_multi_line_subject(self):
        send_template_mail(
            u'mailer/mail.tpl',
            u'差出人 <*****@*****.**>',
            [u'宛先 <*****@*****.**>'],
            extra_context={
                'subject': u'これは\r改行\nの\nある\r\n件名',
                'body': u'本文',
            },
            fail_silently=False,
        )

        self.assertEquals(len(django_mail.outbox), 1)

        mail_message = django_mail.outbox[0]
        self.assertEquals(mail_message.subject, u'これは改行のある件名')
        self.assertEquals(mail_message.body, u'本文\n')

        message = mail_message.message()
        self.assertEquals(
            str(message['Subject']),
            '=?utf-8?b?44GT44KM44Gv5pS56KGM44Gu44GC44KL5Lu25ZCN?=')
        self.assertEquals(str(message['To']),
                          '=?utf-8?b?5a6b5YWI?= <*****@*****.**>')
        self.assertEquals(
            str(message['From']),
            '=?utf-8?b?5beu5Ye65Lq6?= <*****@*****.**>')
예제 #5
0
파일: tests.py 프로젝트: beproud/bpmailer
    def test_email_default_context_overwrite(self):
        send_template_mail(
            u'mailer/mail.tpl',
            u'差出人 <*****@*****.**>',
            [u'宛先 <*****@*****.**>'],
            extra_context={
                'subject': 'overwrite',
                'body': u'本文',
            },
            fail_silently=False,
        )

        # Check to make sure we don't overwrite the data in
        # settings.EMAIL_DEFAULT_CONTEXT
        send_template_mail(
            u'mailer/mail.tpl',
            u'差出人 <*****@*****.**>',
            [u'宛先 <*****@*****.**>'],
            extra_context={
                'body': u'本文',
            },
            fail_silently=False,
        )

        self.assertEquals(len(django_mail.outbox), 2)
        self.assertEquals(django_mail.outbox[1].body, u'本文\n')

        message = django_mail.outbox[1].message()
        self.assertEquals(str(message['Subject']), '=?UTF-8?b?5Lu25ZCN?=')
        self.assertEquals(str(message['To']), '=?UTF-8?b?5a6b5YWI?= <*****@*****.**>')
        self.assertEquals(str(message['From']),
                          '=?UTF-8?b?5beu5Ye65Lq6?= <*****@*****.**>')
예제 #6
0
    def test_email_default_context_overwrite(self):
        send_template_mail(
            u'mailer/mail.tpl',
            u'差出人 <*****@*****.**>',
            [u'宛先 <*****@*****.**>'],
            extra_context={
                'subject': 'overwrite',
                'body': u'本文',
            },
            fail_silently=False,
        )

        # Check to make sure we don't overwrite the data in
        # settings.EMAIL_DEFAULT_CONTEXT
        send_template_mail(
            u'mailer/mail.tpl',
            u'差出人 <*****@*****.**>',
            [u'宛先 <*****@*****.**>'],
            extra_context={
                'body': u'本文',
            },
            fail_silently=False,
        )

        self.assertEquals(len(django_mail.outbox), 2)
        self.assertEquals(django_mail.outbox[1].body, u'本文\n')

        message = django_mail.outbox[1].message()
        self.assertEquals(str(message['Subject']), '=?utf-8?b?5Lu25ZCN?=')
        self.assertEquals(str(message['To']),
                          '=?utf-8?b?5a6b5YWI?= <*****@*****.**>')
        self.assertEquals(
            str(message['From']),
            '=?utf-8?b?5beu5Ye65Lq6?= <*****@*****.**>')
예제 #7
0
파일: tests.py 프로젝트: beproud/bpmailer
    def test_send_template_mail(self):
        send_template_mail(
            u'mailer/mail.tpl',
            u'*****@*****.**',
            [u'*****@*****.**'],
            extra_context={
                'subject': u'件名',
                'body': u'本文',
                'html': u"<h1>本文</h1>",
            },
            fail_silently=False,
            html_template_name=u'mailer/html_mail.tpl',
            attachments=[('test.txt', u"データ", None)],
        )

        message = django_mail.outbox[0]
        self.assertEquals(message.attachments, [('test.txt', u"データ", None)])
예제 #8
0
    def test_send_template_mail(self):
        send_template_mail(
            u'mailer/mail.tpl',
            u'*****@*****.**',
            [u'*****@*****.**'],
            extra_context={
                'subject': u'件名',
                'body': u'本文',
                'html': u"<h1>本文</h1>",
            },
            fail_silently=False,
            html_template_name=u'mailer/html_mail.tpl',
            attachments=[('test.txt', u"データ", 'text/plain')],
        )

        message = django_mail.outbox[0]
        self.assertEquals(message.attachments,
                          [('test.txt', u"データ", 'text/plain')])
예제 #9
0
 def test_fail_silently(self):
     send_mail(
         u'件名',
         u'本文',
         u'差出人 <*****@*****.**>',
         [u'宛先 <*****@*****.**>'],
         fail_silently=True,
     )
     send_template_mail(
         u'mailer/mail.tpl',
         u'差出人 <*****@*****.**>',
         [u'宛先 <*****@*****.**>'],
         extra_context={
             'subject': u'件名',
             'body': u'本文',
         },
         fail_silently=True,
     )
     send_mass_mail(((
         u'件名',
         u'本文',
         u'差出人 <*****@*****.**>',
         [u'宛先 <*****@*****.**>' % i],
     ) for i in range(10)),
                    fail_silently=True)
     mail_managers(
         u'件名',
         u'本文',
         fail_silently=True,
     )
     mail_managers_template(
         u'mailer/mail.tpl',
         extra_context={
             'subject': u'件名',
             'body': u'本文',
         },
         fail_silently=True,
     )
     mail_admins(
         u'件名',
         u'本文',
         fail_silently=True,
     )
예제 #10
0
파일: tests.py 프로젝트: beproud/bpmailer
    def test_email_default_context(self):
        send_template_mail(
            u'mailer/mail.tpl',
            u'差出人 <*****@*****.**>',
            [u'宛先 <*****@*****.**>'],
            extra_context={
                'body': u'本文',
            },
            fail_silently=False,
        )

        self.assertEquals(len(django_mail.outbox), 1)
        self.assertEquals(django_mail.outbox[0].body, u'本文\n')

        message = django_mail.outbox[0].message()
        self.assertEquals(str(message['Subject']), '=?UTF-8?b?5Lu25ZCN?=')
        self.assertEquals(str(message['To']), '=?UTF-8?b?5a6b5YWI?= <*****@*****.**>')
        self.assertEquals(str(message['From']),
                          '=?UTF-8?b?5beu5Ye65Lq6?= <*****@*****.**>')
예제 #11
0
파일: tests.py 프로젝트: beproud/bpmailer
 def test_fail_silently(self):
     send_mail(
         u'件名',
         u'本文',
         u'差出人 <*****@*****.**>',
         [u'宛先 <*****@*****.**>'],
         fail_silently=True,
     )
     send_template_mail(
         u'mailer/mail.tpl',
         u'差出人 <*****@*****.**>',
         [u'宛先 <*****@*****.**>'],
         extra_context={
             'subject': u'件名',
             'body': u'本文',
         },
         fail_silently=True,
     )
     send_mass_mail(((
         u'件名',
         u'本文',
         u'差出人 <*****@*****.**>',
         [u'宛先 <*****@*****.**>' % i],
     ) for i in range(10)), fail_silently=True)
     mail_managers(
         u'件名',
         u'本文',
         fail_silently=True,
     )
     mail_managers_template(
         u'mailer/mail.tpl',
         extra_context={
             'subject': u'件名',
             'body': u'本文',
         },
         fail_silently=True,
     )
     mail_admins(
         u'件名',
         u'本文',
         fail_silently=True,
     )
예제 #12
0
    def test_html_template_mail(self):
        send_template_mail(
            u'mailer/mail.tpl',
            u'*****@*****.**',
            [u'*****@*****.**'],
            extra_context={
                'subject': u'件名',
                'body': u'本文',
                'html': u"<h1>本文</h1>",
            },
            fail_silently=False,
            html_template_name=u'mailer/html_mail.tpl',
        )

        self.assertEquals(len(django_mail.outbox), 1)

        email_message = django_mail.outbox[0]
        self.assertEquals(email_message.body, u'本文\n')
        self.assertTrue(isinstance(email_message, EmailMultiAlternatives))

        self.assertTrue((u"<h1>本文</h1>\n",
                         "text/html") in email_message.alternatives)

        message = django_mail.outbox[0].message()
        self.assertEquals(str(message['Subject']), '=?utf-8?b?5Lu25ZCN?=')
        self.assertEquals(str(message['To']), '*****@*****.**')
        self.assertEquals(str(message['From']), '*****@*****.**')

        payloads = message.get_payload()

        # text + html ペイロード
        self.assertEquals(len(payloads), 2)
        self.assertEquals(payloads[0]['Content-Transfer-Encoding'], '8bit')
        self.assertEquals(payloads[0]['Content-Type'],
                          'text/plain; charset="utf-8"')
        self.assertEquals(payloads[0].get_payload(decode=True),
                          u"本文\n".encode('utf-8'))
        self.assertEquals(payloads[1]['Content-Transfer-Encoding'], '8bit')
        self.assertEquals(payloads[1]['Content-Type'],
                          'text/html; charset="utf-8"')
        self.assertEquals(payloads[1].get_payload(decode=True),
                          u"<h1>本文</h1>\n".encode('utf-8'))
예제 #13
0
    def test_email_default_context(self):
        send_template_mail(
            u'mailer/mail.tpl',
            u'差出人 <*****@*****.**>',
            [u'宛先 <*****@*****.**>'],
            extra_context={
                'body': u'本文',
            },
            fail_silently=False,
        )

        self.assertEquals(len(django_mail.outbox), 1)
        self.assertEquals(django_mail.outbox[0].body, u'本文\n')

        message = django_mail.outbox[0].message()
        self.assertEquals(str(message['Subject']), '=?utf-8?b?5Lu25ZCN?=')
        self.assertEquals(str(message['To']),
                          '=?utf-8?b?5a6b5YWI?= <*****@*****.**>')
        self.assertEquals(
            str(message['From']),
            '=?utf-8?b?5beu5Ye65Lq6?= <*****@*****.**>')
예제 #14
0
파일: tests.py 프로젝트: beproud/bpmailer
    def test_cc(self):
        send_template_mail(
            u'mailer/mail.tpl',
            u'差出人 <*****@*****.**>',
            [u'差出人 <*****@*****.**>'],
            cc=[u'宛先 <*****@*****.**>'],
            extra_context={
                'subject': u'これは\r改行\nの\nある\r\n件名',
                'body': u'本文',
            },
            fail_silently=False,
        )

        self.assertEquals(len(django_mail.outbox), 1)

        mail_message = django_mail.outbox[0]

        message = mail_message.message()
        self.assertEquals(str(message['To']),
                          '=?UTF-8?b?5beu5Ye65Lq6?= <*****@*****.**>')
        self.assertEquals(str(message['Cc']), '=?UTF-8?b?5a6b5YWI?= <*****@*****.**>')
        self.assertEquals(str(message['From']),
                          '=?UTF-8?b?5beu5Ye65Lq6?= <*****@*****.**>')
예제 #15
0
파일: tests.py 프로젝트: beproud/bpmailer
    def test_html_template_mail(self):
        send_template_mail(
            u'mailer/mail.tpl',
            u'*****@*****.**',
            [u'*****@*****.**'],
            extra_context={
                'subject': u'件名',
                'body': u'本文',
                'html': u"<h1>本文</h1>",
            },
            fail_silently=False,
            html_template_name=u'mailer/html_mail.tpl',
        )

        self.assertEquals(len(django_mail.outbox), 1)

        email_message = django_mail.outbox[0]
        self.assertEquals(email_message.body, u'本文\n')
        self.assertTrue(isinstance(email_message, EmailMultiAlternatives))

        self.assertTrue((u"<h1>本文</h1>\n", "text/html") in email_message.alternatives)

        message = django_mail.outbox[0].message()
        self.assertEquals(str(message['Subject']), '=?UTF-8?b?5Lu25ZCN?=')
        self.assertEquals(str(message['To']), '*****@*****.**')
        self.assertEquals(str(message['From']), '*****@*****.**')

        payloads = message.get_payload()

        # text + html ペイロード
        self.assertEquals(len(payloads), 2)
        self.assertEquals(payloads[0]['Content-Transfer-Encoding'], 'base64')
        self.assertEquals(payloads[0]['Content-Type'], 'text/plain; charset="UTF-8"')
        self.assertEquals(payloads[0].get_payload(), "5pys5paHCg==\n")
        self.assertEquals(payloads[1]['Content-Transfer-Encoding'], 'base64')
        self.assertEquals(payloads[1]['Content-Type'], 'text/html; charset="UTF-8"')
        self.assertEquals(payloads[1].get_payload(), "PGgxPuacrOaWhzwvaDE+Cg==\n")
예제 #16
0
파일: tests.py 프로젝트: beproud/bpmailer
    def test_multi_line_subject(self):
        send_template_mail(
            u'mailer/mail.tpl',
            u'差出人 <*****@*****.**>',
            [u'宛先 <*****@*****.**>'],
            extra_context={
                'subject': u'これは\r改行\nの\nある\r\n件名',
                'body': u'本文',
            },
            fail_silently=False,
        )

        self.assertEquals(len(django_mail.outbox), 1)

        mail_message = django_mail.outbox[0]
        self.assertEquals(mail_message.subject, u'これは改行のある件名')
        self.assertEquals(mail_message.body, u'本文\n')

        message = mail_message.message()
        self.assertEquals(str(message['Subject']),
                          '=?UTF-8?b?44GT44KM44Gv5pS56KGM44Gu44GC44KL5Lu25ZCN?=')
        self.assertEquals(str(message['To']), '=?UTF-8?b?5a6b5YWI?= <*****@*****.**>')
        self.assertEquals(str(message['From']),
                          '=?UTF-8?b?5beu5Ye65Lq6?= <*****@*****.**>')
예제 #17
0
파일: tests.py 프로젝트: beproud/bpmailer
 def test_fail_loud(self):
     try:
         send_mail(
             u'件名',
             u'本文',
             u'差出人 <*****@*****.**>',
             [u'宛先 <*****@*****.**>'],
         )
         self.fail("Expected Error")
     except EmailError:
         pass
     try:
         send_template_mail(
             u'mailer/mail.tpl',
             u'差出人 <*****@*****.**>',
             [u'宛先 <*****@*****.**>'],
             extra_context={
                 'subject': u'件名',
                 'body': u'本文',
             },
         )
         self.fail("Expected Error")
     except EmailError:
         pass
     try:
         send_mass_mail(((
             u'件名',
             u'本文',
             u'差出人 <*****@*****.**>',
             [u'宛先 <*****@*****.**>' % i],
         ) for i in range(10)))
         self.fail("Expected Error")
     except EmailError:
         pass
     try:
         mail_managers(
             u'件名',
             u'本文',
         )
         self.fail("Expected Error")
     except EmailError:
         pass
     try:
         mail_managers_template(
             u'mailer/mail.tpl',
             extra_context={
                 'subject': u'件名',
                 'body': u'本文',
             },
         )
         self.fail("Expected Error")
     except EmailError:
         pass
     try:
         mail_admins(
             u'件名',
             u'本文',
         )
         self.fail("Expected Error")
     except EmailError:
         pass
예제 #18
0
 def test_fail_loud(self):
     try:
         send_mail(
             u'件名',
             u'本文',
             u'差出人 <*****@*****.**>',
             [u'宛先 <*****@*****.**>'],
         )
         self.fail("Expected Error")
     except EmailError:
         pass
     try:
         send_template_mail(
             u'mailer/mail.tpl',
             u'差出人 <*****@*****.**>',
             [u'宛先 <*****@*****.**>'],
             extra_context={
                 'subject': u'件名',
                 'body': u'本文',
             },
         )
         self.fail("Expected Error")
     except EmailError:
         pass
     try:
         send_mass_mail(((
             u'件名',
             u'本文',
             u'差出人 <*****@*****.**>',
             [u'宛先 <*****@*****.**>' % i],
         ) for i in range(10)))
         self.fail("Expected Error")
     except EmailError:
         pass
     try:
         mail_managers(
             u'件名',
             u'本文',
         )
         self.fail("Expected Error")
     except EmailError:
         pass
     try:
         mail_managers_template(
             u'mailer/mail.tpl',
             extra_context={
                 'subject': u'件名',
                 'body': u'本文',
             },
         )
         self.fail("Expected Error")
     except EmailError:
         pass
     try:
         mail_admins(
             u'件名',
             u'本文',
         )
         self.fail("Expected Error")
     except EmailError:
         pass