def test_send_attach(self): attach = BytesIO() attach.write(b'content') attach.seek(0) attachs = [('attachment', 'text/plain', attach)] mailsender = MailSender(debug=True) mailsender.send(to=['*****@*****.**'], subject='subject', body='body', attachs=attachs, _callback=self._catch_mail_sent) assert self.catched_msg self.assertEqual(self.catched_msg['to'], ['*****@*****.**']) self.assertEqual(self.catched_msg['subject'], 'subject') self.assertEqual(self.catched_msg['body'], 'body') msg = self.catched_msg['msg'] self.assertEqual(msg['to'], '*****@*****.**') self.assertEqual(msg['subject'], 'subject') payload = msg.get_payload() assert isinstance(payload, list) self.assertEqual(len(payload), 2) text, attach = payload self.assertEqual(text.get_payload(decode=True), b'body') self.assertEqual(text.get_charset(), Charset('us-ascii')) self.assertEqual(attach.get_payload(decode=True), b'content')
def test_send_attach_utf8(self): subject = u'sübjèçt' body = u'bödÿ-àéïöñß' attach = BytesIO() attach.write(body.encode('utf-8')) attach.seek(0) attachs = [('attachment', 'text/plain', attach)] mailsender = MailSender(debug=True) mailsender.send(to=['*****@*****.**'], subject=subject, body=body, attachs=attachs, charset='utf-8', _callback=self._catch_mail_sent) assert self.catched_msg self.assertEqual(self.catched_msg['subject'], subject) self.assertEqual(self.catched_msg['body'], body) msg = self.catched_msg['msg'] self.assertEqual(msg['subject'], subject) self.assertEqual(msg.get_charset(), Charset('utf-8')) self.assertEqual(msg.get('Content-Type'), 'multipart/mixed; charset="utf-8"') payload = msg.get_payload() assert isinstance(payload, list) self.assertEqual(len(payload), 2) text, attach = payload self.assertEqual(text.get_payload(decode=True).decode('utf-8'), body) self.assertEqual(text.get_charset(), Charset('utf-8')) self.assertEqual(attach.get_payload(decode=True).decode('utf-8'), body)
def test_send_attach(self): attach = BytesIO() attach.write(b"content") attach.seek(0) attachs = [("attachment", "text/plain", attach)] mailsender = MailSender(debug=True) mailsender.send( to=["*****@*****.**"], subject="subject", body="body", attachs=attachs, _callback=self._catch_mail_sent, ) assert self.catched_msg self.assertEqual(self.catched_msg["to"], ["*****@*****.**"]) self.assertEqual(self.catched_msg["subject"], "subject") self.assertEqual(self.catched_msg["body"], "body") msg = self.catched_msg["msg"] self.assertEqual(msg["to"], "*****@*****.**") self.assertEqual(msg["subject"], "subject") payload = msg.get_payload() assert isinstance(payload, list) self.assertEqual(len(payload), 2) text, attach = payload self.assertEqual(text.get_payload(decode=True), b"body") self.assertEqual(text.get_charset(), Charset("us-ascii")) self.assertEqual(attach.get_payload(decode=True), b"content")
def test_send_attach_utf8(self): subject = "sübjèçt" body = "bödÿ-àéïöñß" attach = BytesIO() attach.write(body.encode("utf-8")) attach.seek(0) attachs = [("attachment", "text/plain", attach)] mailsender = MailSender(debug=True) mailsender.send( to=["*****@*****.**"], subject=subject, body=body, attachs=attachs, charset="utf-8", _callback=self._catch_mail_sent, ) assert self.catched_msg self.assertEqual(self.catched_msg["subject"], subject) self.assertEqual(self.catched_msg["body"], body) msg = self.catched_msg["msg"] self.assertEqual(msg["subject"], subject) self.assertEqual(msg.get_charset(), Charset("utf-8")) self.assertEqual(msg.get("Content-Type"), 'multipart/mixed; charset="utf-8"') payload = msg.get_payload() assert isinstance(payload, list) self.assertEqual(len(payload), 2) text, attach = payload self.assertEqual(text.get_payload(decode=True).decode("utf-8"), body) self.assertEqual(text.get_charset(), Charset("utf-8")) self.assertEqual(attach.get_payload(decode=True).decode("utf-8"), body)