Ejemplo n.º 1
0
    def test_mass_mail_message_obj(self):
        send_mass_mail(chain((
            (
                u'件名',
                u'本文',
                u'差出人 <*****@*****.**>',
                [u'宛先 <*****@*****.**>' % i],
            ) for i in range(4)),
            (EmailMessage(u'件名', u'本文', u'差出人 <*****@*****.**>',
                          [u'宛先 <*****@*****.**>']),),
            ((
                u'件名',
                u'本文',
                u'差出人 <*****@*****.**>',
                [u'宛先 <*****@*****.**>' % i],
            ) for i in range(5, 9)),
            (EmailMessage(u'件名', u'本文', u'差出人 <*****@*****.**>',
                          [u'宛先 <*****@*****.**>']),)
        ))

        for i in range(10):
            message = django_mail.outbox[i].message()

            self.assertEqual(str(message['Subject']), "=?UTF-8?b?5Lu25ZCN?=")
            self.assertEqual(str(message['To']),
                             "=?UTF-8?b?5a6b5YWI?= <*****@*****.**>" % i)
            self.assertEqual(str(message['From']),
                             "=?UTF-8?b?5beu5Ye65Lq6?= <*****@*****.**>")
            self.assertEqual(message['Content-Transfer-Encoding'], 'base64')
            self.assertEqual(message['Content-Type'], 'text/plain; charset="UTF-8"')
            self.assertEqual(message.get_payload(), "5pys5paH\n")
Ejemplo n.º 2
0
    def test_mass_mail_post_send(self):
        test_list = []

        def post_send_signal(sender, message, **kwargs):
            self.assertEqual(message.subject, u'件名')
            self.assertEqual(message.body, u'本文')
            test_list.extend(message.to)

        mail_post_send.connect(post_send_signal)

        send_mass_mail(((
            u'件名',
            u'本文',
            u'差出人 <*****@*****.**>',
            [u'宛先 <*****@*****.**>' % i],
        ) for i in range(10)),
                       encoding='iso-2022-jp')

        self.assertEqual(test_list, [
            u'宛先 <*****@*****.**>',
            u'宛先 <*****@*****.**>',
            u'宛先 <*****@*****.**>',
            u'宛先 <*****@*****.**>',
            u'宛先 <*****@*****.**>',
            u'宛先 <*****@*****.**>',
            u'宛先 <*****@*****.**>',
            u'宛先 <*****@*****.**>',
            u'宛先 <*****@*****.**>',
            u'宛先 <*****@*****.**>',
        ])
Ejemplo n.º 3
0
    def test_mass_mail_post_send(self):
        test_list = []

        def post_send_signal(sender, message, **kwargs):
            self.assertEqual(message.subject, u'件名')
            self.assertEqual(message.body, u'本文')
            test_list.extend(message.to)
        mail_post_send.connect(post_send_signal)

        send_mass_mail(((
            u'件名',
            u'本文',
            u'差出人 <*****@*****.**>',
            [u'宛先 <*****@*****.**>' % i],
        ) for i in range(10)), encoding='iso-2022-jp')

        self.assertEqual(test_list, [
            u'宛先 <*****@*****.**>',
            u'宛先 <*****@*****.**>',
            u'宛先 <*****@*****.**>',
            u'宛先 <*****@*****.**>',
            u'宛先 <*****@*****.**>',
            u'宛先 <*****@*****.**>',
            u'宛先 <*****@*****.**>',
            u'宛先 <*****@*****.**>',
            u'宛先 <*****@*****.**>',
            u'宛先 <*****@*****.**>',
        ])
Ejemplo n.º 4
0
    def test_mass_mail_message_obj(self):
        send_mass_mail(
            chain(
                ((
                    u'件名',
                    u'本文',
                    u'差出人 <*****@*****.**>',
                    [u'宛先 <*****@*****.**>' % i],
                ) for i in range(4)),
                (EmailMessage(u'件名', u'本文', u'差出人 <*****@*****.**>',
                              [u'宛先 <*****@*****.**>']), ), ((
                                  u'件名',
                                  u'本文',
                                  u'差出人 <*****@*****.**>',
                                  [u'宛先 <*****@*****.**>' % i],
                              ) for i in range(5, 9)),
                (EmailMessage(u'件名', u'本文', u'差出人 <*****@*****.**>',
                              [u'宛先 <*****@*****.**>']), )))

        for i in range(10):
            message = django_mail.outbox[i].message()

            self.assertEqual(str(message['Subject']), "=?utf-8?b?5Lu25ZCN?=")
            self.assertEqual(
                str(message['To']),
                "=?utf-8?b?5a6b5YWI?= <*****@*****.**>" % i)
            self.assertEqual(
                str(message['From']),
                "=?utf-8?b?5beu5Ye65Lq6?= <*****@*****.**>")
            self.assertEqual(message['Content-Transfer-Encoding'], '8bit')
            self.assertEqual(message['Content-Type'],
                             'text/plain; charset="utf-8"')
            self.assertEqual(message.get_payload(decode=True),
                             u'本文'.encode('utf-8'))
Ejemplo n.º 5
0
    def test_mass_mail_encoding_inline2(self):
        send_mass_mail(((
            u'件名',
            u'本文',
            u'差出人 <*****@*****.**>',
            [u'宛先 <*****@*****.**>'],
            'iso-2022-jp',
        ), (
            u'件名',
            u'本文',
            u'差出人 <*****@*****.**>',
            [u'宛先 <*****@*****.**>'],
        ), (
            u'件名',
            u'本文',
            u'差出人 <*****@*****.**>',
            [u'宛先 <*****@*****.**>'],
            'iso-2022-jp',
        )),
                       encoding='cp932')

        message = django_mail.outbox[0].message()
        self.assertEqual(str(message['Subject']),
                         "=?iso-2022-jp?b?GyRCN29MPhsoQg==?=")
        self.assertEqual(
            str(message['To']),
            "=?iso-2022-jp?b?GyRCMDhAaBsoQg==?= <*****@*****.**>")
        self.assertEqual(
            str(message['From']),
            "=?iso-2022-jp?b?GyRCOjk9UD9NGyhC?= <*****@*****.**>")
        self.assertEqual(message['Content-Transfer-Encoding'], '7bit')
        self.assertEqual(message['Content-Type'],
                         'text/plain; charset="iso-2022-jp"')
        self.assertEqual(message.get_payload(), "\x1b$BK\\J8\x1b(B")

        message = django_mail.outbox[1].message()
        self.assertEqual(str(message['Subject']), "=?shift-jis?b?jI+WvA==?=")
        self.assertEqual(str(message['To']),
                         "=?shift-jis?b?iLaQ5g==?= <*****@*****.**>")
        self.assertEqual(
            str(message['From']),
            "=?shift-jis?b?jbePb5Bs?= <*****@*****.**>")
        self.assertEqual(message['Content-Transfer-Encoding'], '8bit')
        self.assertEqual(message['Content-Type'],
                         'text/plain; charset="shift-jis"')
        self.assertEqual(message.get_payload(), "\x96{\x95\xb6")

        message = django_mail.outbox[2].message()
        self.assertEqual(str(message['Subject']),
                         "=?iso-2022-jp?b?GyRCN29MPhsoQg==?=")
        self.assertEqual(
            str(message['To']),
            "=?iso-2022-jp?b?GyRCMDhAaBsoQg==?= <*****@*****.**>")
        self.assertEqual(
            str(message['From']),
            "=?iso-2022-jp?b?GyRCOjk9UD9NGyhC?= <*****@*****.**>")
        self.assertEqual(message['Content-Transfer-Encoding'], '7bit')
        self.assertEqual(message['Content-Type'],
                         'text/plain; charset="iso-2022-jp"')
        self.assertEqual(message.get_payload(), "\x1b$BK\\J8\x1b(B")
Ejemplo n.º 6
0
    def test_mass_mail_encoding(self):
        send_mass_mail(((
            u'件名',
            u'本文',
            u'差出人 <*****@*****.**>',
            [u'宛先 <*****@*****.**>' % i],
        ) for i in range(10)),
                       encoding='iso-2022-jp')

        for i in range(10):
            message = django_mail.outbox[i].message()

            self.assertEqual(str(message['Subject']),
                             "=?iso-2022-jp?b?GyRCN29MPhsoQg==?=")
            self.assertEqual(
                str(message['To']),
                "=?iso-2022-jp?b?GyRCMDhAaBsoQg==?= <*****@*****.**>" %
                i)
            self.assertEqual(
                str(message['From']),
                "=?iso-2022-jp?b?GyRCOjk9UD9NGyhC?= <*****@*****.**>"
            )
            self.assertEqual(message['Content-Transfer-Encoding'], '7bit')
            self.assertEqual(message['Content-Type'],
                             'text/plain; charset="iso-2022-jp"')
            self.assertEqual(message.get_payload(), "\x1b$BK\\J8\x1b(B")
Ejemplo n.º 7
0
    def test_mass_mail_encoding_inline(self):
        send_mass_mail((
            (
                u'件名',
                u'本文',
                u'差出人 <*****@*****.**>',
                [u'宛先 <*****@*****.**>'],
                'iso-2022-jp',
            ),
            (
                u'件名',
                u'本文',
                u'差出人 <*****@*****.**>',
                [u'宛先 <*****@*****.**>'],
            ),
            (
                u'件名',
                u'本文',
                u'差出人 <*****@*****.**>',
                [u'宛先 <*****@*****.**>'],
                'iso-2022-jp',
            )
        ))

        message = django_mail.outbox[0].message()

        self.assertEqual(str(message['Subject']), "=?ISO-2022-JP?b?GyRCN29MPhsoQg==?=")
        self.assertEqual(str(message['To']),
                         "=?ISO-2022-JP?b?GyRCMDhAaBsoQg==?= <*****@*****.**>")
        self.assertEqual(str(message['From']),
                         "=?ISO-2022-JP?b?GyRCOjk9UD9NGyhC?= <*****@*****.**>")
        self.assertEqual(message['Content-Transfer-Encoding'], '7bit')
        self.assertEqual(message['Content-Type'], 'text/plain; charset="ISO-2022-JP"')
        self.assertEqual(message.get_payload(), "\x1b$BK\\J8\x1b(B")

        message = django_mail.outbox[1].message()
        self.assertEqual(str(message['Subject']), "=?UTF-8?b?5Lu25ZCN?=")
        self.assertEqual(str(message['To']), "=?UTF-8?b?5a6b5YWI?= <*****@*****.**>")
        self.assertEqual(str(message['From']),
                         "=?UTF-8?b?5beu5Ye65Lq6?= <*****@*****.**>")
        self.assertEqual(message['Content-Transfer-Encoding'], 'base64')
        self.assertEqual(message['Content-Type'], 'text/plain; charset="UTF-8"')
        self.assertEqual(message.get_payload(), "5pys5paH\n")

        message = django_mail.outbox[2].message()
        self.assertEqual(str(message['Subject']), "=?ISO-2022-JP?b?GyRCN29MPhsoQg==?=")
        self.assertEqual(str(message['To']),
                         "=?ISO-2022-JP?b?GyRCMDhAaBsoQg==?= <*****@*****.**>")
        self.assertEqual(str(message['From']),
                         "=?ISO-2022-JP?b?GyRCOjk9UD9NGyhC?= <*****@*****.**>")
        self.assertEqual(message['Content-Transfer-Encoding'], '7bit')
        self.assertEqual(message['Content-Type'], 'text/plain; charset="ISO-2022-JP"')
        self.assertEqual(message.get_payload(), "\x1b$BK\\J8\x1b(B")
Ejemplo n.º 8
0
    def test_mass_mail_encoding_inline2(self):
        send_mass_mail((
            (
                u'件名',
                u'本文',
                u'差出人 <*****@*****.**>',
                [u'宛先 <*****@*****.**>'],
                'iso-2022-jp',
            ),
            (
                u'件名',
                u'本文',
                u'差出人 <*****@*****.**>',
                [u'宛先 <*****@*****.**>'],
            ),
            (
                u'件名',
                u'本文',
                u'差出人 <*****@*****.**>',
                [u'宛先 <*****@*****.**>'],
                'iso-2022-jp',
            )
        ), encoding='cp932')

        message = django_mail.outbox[0].message()
        self.assertEqual(str(message['Subject']), "=?ISO-2022-JP?b?GyRCN29MPhsoQg==?=")
        self.assertEqual(str(message['To']),
                         "=?ISO-2022-JP?b?GyRCMDhAaBsoQg==?= <*****@*****.**>")
        self.assertEqual(str(message['From']),
                         "=?ISO-2022-JP?b?GyRCOjk9UD9NGyhC?= <*****@*****.**>")
        self.assertEqual(message['Content-Transfer-Encoding'], '7bit')
        self.assertEqual(message['Content-Type'], 'text/plain; charset="ISO-2022-JP"')
        self.assertEqual(message.get_payload(), "\x1b$BK\\J8\x1b(B")

        message = django_mail.outbox[1].message()
        self.assertEqual(str(message['Subject']), "=?SHIFT-JIS?b?jI+WvA==?=")
        self.assertEqual(str(message['To']), "=?SHIFT-JIS?b?iLaQ5g==?= <*****@*****.**>")
        self.assertEqual(str(message['From']),
                         "=?SHIFT-JIS?b?jbePb5Bs?= <*****@*****.**>")
        self.assertEqual(message['Content-Transfer-Encoding'], '8bit')
        self.assertEqual(message['Content-Type'], 'text/plain; charset="SHIFT-JIS"')
        self.assertEqual(message.get_payload(), "\x96{\x95\xb6")

        message = django_mail.outbox[2].message()
        self.assertEqual(str(message['Subject']), "=?ISO-2022-JP?b?GyRCN29MPhsoQg==?=")
        self.assertEqual(str(message['To']),
                         "=?ISO-2022-JP?b?GyRCMDhAaBsoQg==?= <*****@*****.**>")
        self.assertEqual(str(message['From']),
                         "=?ISO-2022-JP?b?GyRCOjk9UD9NGyhC?= <*****@*****.**>")
        self.assertEqual(message['Content-Transfer-Encoding'], '7bit')
        self.assertEqual(message['Content-Type'], 'text/plain; charset="ISO-2022-JP"')
        self.assertEqual(message.get_payload(), "\x1b$BK\\J8\x1b(B")
Ejemplo n.º 9
0
    def test_mass_mail_encoding(self):
        send_mass_mail(((
            u'件名',
            u'本文',
            u'差出人 <*****@*****.**>',
            [u'宛先 <*****@*****.**>' % i],
        ) for i in range(10)), encoding='iso-2022-jp')

        for i in range(10):
            message = django_mail.outbox[i].message()

            self.assertEqual(str(message['Subject']), "=?ISO-2022-JP?b?GyRCN29MPhsoQg==?=")
            self.assertEqual(str(message['To']),
                             "=?ISO-2022-JP?b?GyRCMDhAaBsoQg==?= <*****@*****.**>" % i)
            self.assertEqual(str(message['From']),
                             "=?ISO-2022-JP?b?GyRCOjk9UD9NGyhC?= <*****@*****.**>")
            self.assertEqual(message['Content-Transfer-Encoding'], '7bit')
            self.assertEqual(message['Content-Type'], 'text/plain; charset="ISO-2022-JP"')
            self.assertEqual(message.get_payload(), "\x1b$BK\\J8\x1b(B")
Ejemplo n.º 10
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,
     )
Ejemplo n.º 11
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,
     )
Ejemplo n.º 12
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
Ejemplo n.º 13
0
    def test_mass_mail_encoding_inline(self):
        send_mass_mail(((
            u'件名',
            u'本文',
            u'差出人 <*****@*****.**>',
            [u'宛先 <*****@*****.**>'],
            'iso-2022-jp',
        ), (
            u'件名',
            u'本文',
            u'差出人 <*****@*****.**>',
            [u'宛先 <*****@*****.**>'],
        ), (
            u'件名',
            u'本文',
            u'差出人 <*****@*****.**>',
            [u'宛先 <*****@*****.**>'],
            'iso-2022-jp',
        )))

        message = django_mail.outbox[0].message()

        self.assertEqual(str(message['Subject']),
                         "=?iso-2022-jp?b?GyRCN29MPhsoQg==?=")
        self.assertEqual(
            str(message['To']),
            "=?iso-2022-jp?b?GyRCMDhAaBsoQg==?= <*****@*****.**>")
        self.assertEqual(
            str(message['From']),
            "=?iso-2022-jp?b?GyRCOjk9UD9NGyhC?= <*****@*****.**>")
        self.assertEqual(message['Content-Transfer-Encoding'], '7bit')
        self.assertEqual(message['Content-Type'],
                         'text/plain; charset="iso-2022-jp"')
        self.assertEqual(message.get_payload(), "\x1b$BK\\J8\x1b(B")

        message = django_mail.outbox[1].message()
        self.assertEqual(str(message['Subject']), "=?utf-8?b?5Lu25ZCN?=")
        self.assertEqual(str(message['To']),
                         "=?utf-8?b?5a6b5YWI?= <*****@*****.**>")
        self.assertEqual(
            str(message['From']),
            "=?utf-8?b?5beu5Ye65Lq6?= <*****@*****.**>")
        self.assertEqual(message['Content-Transfer-Encoding'], '8bit')
        self.assertEqual(message['Content-Type'],
                         'text/plain; charset="utf-8"')
        self.assertEqual(message.get_payload(decode=True),
                         u'本文'.encode('utf-8'))

        message = django_mail.outbox[2].message()
        self.assertEqual(str(message['Subject']),
                         "=?iso-2022-jp?b?GyRCN29MPhsoQg==?=")
        self.assertEqual(
            str(message['To']),
            "=?iso-2022-jp?b?GyRCMDhAaBsoQg==?= <*****@*****.**>")
        self.assertEqual(
            str(message['From']),
            "=?iso-2022-jp?b?GyRCOjk9UD9NGyhC?= <*****@*****.**>")
        self.assertEqual(message['Content-Transfer-Encoding'], '7bit')
        self.assertEqual(message['Content-Type'],
                         'text/plain; charset="iso-2022-jp"')
        self.assertEqual(message.get_payload(), "\x1b$BK\\J8\x1b(B")
Ejemplo n.º 14
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