diff options
Diffstat (limited to 'Lib/email/headerregistry.py')
| -rw-r--r-- | Lib/email/headerregistry.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Lib/email/headerregistry.py b/Lib/email/headerregistry.py index 5d84fc0d82..d8613ebf24 100644 --- a/Lib/email/headerregistry.py +++ b/Lib/email/headerregistry.py @@ -302,7 +302,14 @@ class DateHeader: kwds['parse_tree'] = parser.TokenList() return if isinstance(value, str): - value = utils.parsedate_to_datetime(value) + kwds['decoded'] = value + try: + value = utils.parsedate_to_datetime(value) + except ValueError: + kwds['defects'].append(errors.InvalidDateDefect('Invalid date value or format')) + kwds['datetime'] = None + kwds['parse_tree'] = parser.TokenList() + return kwds['datetime'] = value kwds['decoded'] = utils.format_datetime(kwds['datetime']) kwds['parse_tree'] = cls.value_parser(kwds['decoded']) |
