New submission from Ivan Savin <acc...@gmail.com>:

How to reproduce:

>>> import email.message
>>> message = email.message.EmailMessage()
>>> message['From'] = 'hey@'
Traceback (most recent call last):
  File 
"/home/ivan/.pyenv/versions/3.9.0a5/lib/python3.9/email/_header_value_parser.py",
 line 1956, in get_address
    token, value = get_group(value)
  File 
"/home/ivan/.pyenv/versions/3.9.0a5/lib/python3.9/email/_header_value_parser.py",
 line 1914, in get_group
    raise errors.HeaderParseError("expected ':' at end of group "
email.errors.HeaderParseError: expected ':' at end of group display name but 
found '@'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File 
"/home/ivan/.pyenv/versions/3.9.0a5/lib/python3.9/email/_header_value_parser.py",
 line 1782, in get_mailbox
    token, value = get_name_addr(value)
  File 
"/home/ivan/.pyenv/versions/3.9.0a5/lib/python3.9/email/_header_value_parser.py",
 line 1768, in get_name_addr
    token, value = get_angle_addr(value)
  File 
"/home/ivan/.pyenv/versions/3.9.0a5/lib/python3.9/email/_header_value_parser.py",
 line 1693, in get_angle_addr
    raise errors.HeaderParseError(
email.errors.HeaderParseError: expected angle-addr but found '@'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/ivan/.pyenv/versions/3.9.0a5/lib/python3.9/email/message.py", 
line 409, in __setitem__
    self._headers.append(self.policy.header_store_parse(name, val))
  File "/home/ivan/.pyenv/versions/3.9.0a5/lib/python3.9/email/policy.py", line 
148, in header_store_parse
    return (name, self.header_factory(name, value))
  File 
"/home/ivan/.pyenv/versions/3.9.0a5/lib/python3.9/email/headerregistry.py", 
line 596, in __call__
    return self[name](name, value)
  File 
"/home/ivan/.pyenv/versions/3.9.0a5/lib/python3.9/email/headerregistry.py", 
line 191, in __new__
    cls.parse(value, kwds)
  File 
"/home/ivan/.pyenv/versions/3.9.0a5/lib/python3.9/email/headerregistry.py", 
line 334, in parse
    kwds['parse_tree'] = address_list = cls.value_parser(value)
  File 
"/home/ivan/.pyenv/versions/3.9.0a5/lib/python3.9/email/headerregistry.py", 
line 325, in value_parser
    address_list, value = parser.get_address_list(value)
  File 
"/home/ivan/.pyenv/versions/3.9.0a5/lib/python3.9/email/_header_value_parser.py",
 line 1979, in get_address_list
    token, value = get_address(value)
  File 
"/home/ivan/.pyenv/versions/3.9.0a5/lib/python3.9/email/_header_value_parser.py",
 line 1959, in get_address
    token, value = get_mailbox(value)
  File 
"/home/ivan/.pyenv/versions/3.9.0a5/lib/python3.9/email/_header_value_parser.py",
 line 1785, in get_mailbox
    token, value = get_addr_spec(value)
  File 
"/home/ivan/.pyenv/versions/3.9.0a5/lib/python3.9/email/_header_value_parser.py",
 line 1638, in get_addr_spec
    token, value = get_domain(value[1:])
  File 
"/home/ivan/.pyenv/versions/3.9.0a5/lib/python3.9/email/_header_value_parser.py",
 line 1595, in get_domain
    if value[0] in CFWS_LEADER:
IndexError: string index out of range

----------
components: email
messages: 371234
nosy: Ivan Savin, barry, r.david.murray
priority: normal
severity: normal
status: open
title: email.message.EmailMessage address parser fails to handle 'example@'
type: behavior
versions: Python 3.9

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

Reply via email to