Casting the message object to a string will yield a byte stream suitable
for transmitting the message over protocols such as ESMTP and NNTP.
The body will be encoded using the current transfer encoding, and
subparts of a multipart will be collected recursively. If the message
is a multipart and no boundary string has been set, one will be
generated using generate_boundary() .