Exemple #1
0
 def test_non_ascii_attachment_filename(self):
     """Regression test for #14964"""
     headers = {"Date": "Fri, 09 Nov 2001 01:08:47 -0000", "Message-ID": "foo"}
     subject, from_email, to = 'hello', '*****@*****.**', '*****@*****.**'
     content = 'This is the message.'
     msg = EmailMessage(subject, content, from_email, [to], headers=headers)
     # Unicode in file name
     msg.attach("une pièce jointe.pdf", b"%PDF-1.4.%...", mimetype="application/pdf")
     msg_str = msg.message().as_string()
     message = email.message_from_string(msg_str)
     payload = message.get_payload()
     self.assertEqual(payload[1].get_filename(), 'une pièce jointe.pdf')
Exemple #2
0
    def test_dont_base64_encode(self):
        # Ticket #3472
        # Shouldn't use Base64 encoding at all
        msg = EmailMessage('Subject', 'UTF-8 encoded body', '*****@*****.**', ['*****@*****.**'], headers={'From': '*****@*****.**'})
        self.assertFalse('Content-Transfer-Encoding: base64' in msg.message().as_string())

        # Ticket #11212
        # Shouldn't use quoted printable, should detect it can represent content with 7 bit data
        msg = EmailMessage('Subject', 'Body with only ASCII characters.', '*****@*****.**', ['*****@*****.**'], headers={'From': '*****@*****.**'})
        s = msg.message().as_string()
        self.assertFalse('Content-Transfer-Encoding: quoted-printable' in s)
        self.assertTrue('Content-Transfer-Encoding: 7bit' in s)

        # Shouldn't use quoted printable, should detect it can represent content with 8 bit data
        msg = EmailMessage('Subject', 'Body with latin characters: àáä.', '*****@*****.**', ['*****@*****.**'], headers={'From': '*****@*****.**'})
        s = msg.message().as_string()
        self.assertFalse(str('Content-Transfer-Encoding: quoted-printable') in s)
        self.assertTrue(str('Content-Transfer-Encoding: 8bit') in s)

        msg = EmailMessage('Subject', 'Body with non latin characters: А Б В Г Д Е Ж Ѕ З И І К Л М Н О П.', '*****@*****.**', ['*****@*****.**'], headers={'From': '*****@*****.**'})
        s = msg.message().as_string()
        self.assertFalse(str('Content-Transfer-Encoding: quoted-printable') in s)
        self.assertTrue(str('Content-Transfer-Encoding: 8bit') in s)