diff options
Diffstat (limited to 'Lib/email/message.py')
-rw-r--r-- | Lib/email/message.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Lib/email/message.py b/Lib/email/message.py index 62b82b7..9b06207 100644 --- a/Lib/email/message.py +++ b/Lib/email/message.py @@ -346,6 +346,16 @@ class Message: Note: this does not overwrite an existing header with the same field name. Use __delitem__() first to delete any existing headers. """ + max_count = self.policy.header_max_count(name) + if max_count: + lname = name.lower() + found = 0 + for k, v in self._headers: + if k.lower() == lname: + found += 1 + if found >= max_count: + raise ValueError("There may be at most {} {} headers " + "in a message".format(max_count, name)) self._headers.append(self.policy.header_store_parse(name, val)) def __delitem__(self, name): |