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")
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'宛先 <*****@*****.**>', ])
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'))
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")
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")
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")
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")
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")
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, )
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
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")