Author rad164
Recipients barry, r.david.murray, rad164
Date 2018-05-15.16:35:30
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1526402130.36.0.682650639539.issue33524@psf.upfronthosting.co.za>
In-reply-to
Content
Python 3.6.5 has trouble on folding email messages:

Traceback (most recent call last):
  File "emailtest.py", line 7, in <module>
    policy.fold("Subject", msg["Subject"])
  File "/usr/lib/python3.6/email/policy.py", line 183, in fold
    return self._fold(name, value, refold_binary=True)
  File "/usr/lib/python3.6/email/policy.py", line 205, in _fold
    return value.fold(policy=self)
  File "/usr/lib/python3.6/email/headerregistry.py", line 258, in fold
    return header.fold(policy=policy)
  File "/usr/lib/python3.6/email/_header_value_parser.py", line 144, in fold
    return _refold_parse_tree(self, policy=policy)
  File "/usr/lib/python3.6/email/_header_value_parser.py", line 2651, in _refold_parse_tree
    part.ew_combine_allowed, charset)
  File "/usr/lib/python3.6/email/_header_value_parser.py", line 2728, in _fold_as_ew
    first_part = to_encode[:text_space]
TypeError: slice indices must be integers or None or have an __index__ method


The message has non-ascii characters in header and set max_line_length=0, regardless length of the header. Here is the code to reproduce.


from email.message import EmailMessage
from email.policy import default

policy = default.clone(max_line_length=0)
msg = EmailMessage()
msg["Subject"] = "á"
policy.fold("Subject", msg["Subject"])


I first found this issue on Maildir.add, which saves the message to a file without word wrap.
History
Date User Action Args
2018-05-15 16:35:30rad164setrecipients: + rad164, barry, r.david.murray
2018-05-15 16:35:30rad164setmessageid: <1526402130.36.0.682650639539.issue33524@psf.upfronthosting.co.za>
2018-05-15 16:35:30rad164linkissue33524 messages
2018-05-15 16:35:30rad164create