1from getmailcore.message import Message 2 3import smtplib, ssl 4from email.mime.text import MIMEText 5from email.mime.multipart import MIMEMultipart 6from email.message import EmailMessage 7 8greetru = "привет" 9greetde = "Grüße" 10byeru = 'пока' 11 12def test_add_header(): 13 m = EmailMessage() 14 m["Subject"] = "test" 15 m["From"] = "my@gmail.com" 16 m["To"] = "your@gmail.com" 17 t = greetru.encode('Windows-1251') 18 m.set_content(t,'text','plain') 19 #m.as_string() 20 #m.get_content() 21 #m.get_content_charset() 22 #m.get_charsets() 23 gm = Message(fromstring=m.as_bytes()) 24 #te.decode('Windows-1251') 25 gm.add_header('X-byeru',byeru) 26 assert gm.content()['X-byeru'] == byeru 27 ge = greetde.encode('latin1') 28 gm.add_header('X-greetde',ge) 29 #gm.content()['X-greetde'] 30 assert gm.content()['X-greetde'] != greetde 31 32def test_add_header1(): 33 m = EmailMessage() 34 m["Subject"] = "test" 35 m["From"] = "my@gmail.com" 36 m["To"] = "your@gmail.com" 37 t = greetru.encode('Windows-1251') 38 m.set_content(t,'text','plain') 39 m.set_param('charset','Windows-1251') 40 #m.as_string() 41 #m.get_content() 42 #m.get_content_charset() 43 #m.get_charsets() 44 gm = Message(fromstring=m.as_bytes()) 45 te = byeru.encode('Windows-1251') 46 #te.decode('Windows-1251') 47 gm.add_header('X-byeru',te) 48 assert gm.content()['X-byeru'] == byeru 49 ge = greetde.encode('latin1') 50 gm.add_header('X-greetde',ge) 51 #gm.content()['X-greetde'] 52 ### if coding is really wrong: no way 53 assert gm.content()['X-greetde'] != greetde 54 55def test_add_header2(): 56 mm = MIMEMultipart("alternative") 57 mm["Subject"] = "multipart test" 58 mm["From"] = "my@gmail.com" 59 mm["To"] = "your@gmail.com" 60 p1 = MIMEText(greetru, "plain") 61 p1.set_param('charset','Windows-1251') 62 p2 = MIMEText(greetde, "plain") 63 p2.set_param('charset','latin1') 64 mm.attach(p1) 65 mm.attach(p2) 66 #mm.get_charsets() 67 gmm = Message(fromstring=mm.as_bytes()) 68 te = byeru.encode('Windows-1251') 69 #te.decode('Windows-1251') 70 gmm.add_header('X-byeru',te) 71 assert gmm.content()['X-byeru'] == byeru 72 ge = greetde.encode('latin1') 73 gmm.add_header('X-greetde',ge) 74 #gmm.content()['X-greetde'] 75 ### if coding is really wrong: no way 76 assert gmm.content()['X-greetde'] != greetde 77 #mm.as_string() 78 79 80