<p>正如Leon的回答所解释的,Python正在实现RFCs中定义的折叠算法。在</p>
<p>在Python2中,可以使用<code>email.generator.Generator</code>实例来控制最大头长度;from <a href="https://docs.python.org/2.7/library/email.message.html#email.message.Message.as_string" rel="nofollow noreferrer">the docs</a>:</p>
<blockquote>
<p>For more flexibility, instantiate a Generator instance and use its flatten() method directly. For example:</p>
</blockquote>
<pre><code>from cStringIO import StringIO
from email.generator import Generator
fp = StringIO()
g = Generator(fp, mangle_from_=False, maxheaderlen=60)
g.flatten(msg)
text = fp.getvalue()
</code></pre>
<p>(将maxheaderlen设置为零将防止在几乎所有情况下折叠长标题行)。在</p>
<p>在python3.5中,maxheaderlen参数在<code>email.message.Message.as_string</code>的<a href="https://docs.python.org/3.5/library/email.message.html#email.message.Message.as_string" rel="nofollow noreferrer">signature</a>中公开,因此</p>
<p><code>print(msg.as_string(maxheaderlen=256))</code></p>
<p>是可能的。<code>maxheaderlen</code>默认为零,因此除非提供值,否则不会包装头行。在</p>
<p>在Python3.6中,<code>maxheaderlen</code>在<code>email.message.EmailMessage.as_string</code>的<a href="https://docs.python.org/3/library/email.message.html#email.message.EmailMessage.as_string" rel="nofollow noreferrer">signature</a>中公开(注意这是一个不同的类)。<code>maxheaderlen</code>现在默认为<code>None</code>:除非指定值,否则头行换行为78个字符。在</p>