Barry Warsaw wrote:
The raw bytes or the decoded unicode?
A header object.
Okay, so you've picked one. Now how do you spell the other way?
Now, setting headers. Sometimes you have some
unicode thing and
sometimes you have some bytes. You need to end up with bytes in the
ASCII range and you'd like to leave the header value unencoded if so.
But in both cases, you might have bytes or characters outside that range, so you need an explicit encoding, defaulting to utf-8 probably.
Message.set_header('Subject', 'Some text', encoding='utf-8') Message.set_header('Subject', b'Some bytes')
Where you just want "a damned valid email and stop making my life hard!":
Where you care about what encoding is used:
If you have bytes, for whatever reason:
...because only you know what encoding those bytes use!
One of those maps to
message['Subject'] = ???
...should only accept text or a Header object.
-- Simplistix - Content Management, Zope & Python Consulting