New submission from Konstantin Ryabitsev <konstan...@linuxfoundation.org>:

When using as_string(unixfrom=True), the "From " line is not always printed. 
The behaviour is correct for as_bytes().

Test case:

----
import email.message

msg = email.message.EmailMessage()
msg.set_payload('Hello World\n')
msg.set_unixfrom('From foo@bar Thu Jan  1 00:00:00 1970')
msg['Subject'] = 'Hello'
msg['From'] = 'Me <m...@foo.bar>'
print('as_string:')
print(msg.as_string(unixfrom=True))
print('as_bytes:')
print(msg.as_bytes(unixfrom=True).decode())
----

Results (3.5 and 3.9):

as_string:
Subject: Hello
From: Me <m...@foo.bar>

Hello World

as_bytes:
>From foo@bar Thu Jan  1 00:00:00 1970
Subject: Hello
From: Me <m...@foo.bar>

Hello World

----------
components: email
messages: 395635
nosy: barry, konstantin2, r.david.murray
priority: normal
severity: normal
status: open
title: email.message as_string() not writing unixfrom
versions: Python 3.9

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue44395>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to