summaryrefslogtreecommitdiff
path: root/alot/mail/policy.py
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2021-11-24 10:53:49 +0100
committerAnton Khirnov <anton@khirnov.net>2021-11-24 10:56:38 +0100
commit2f9907f24755b59ceb9ae075e26b1e4f606adeec (patch)
treecdfbed35bb9a6688134cb4680dfee724081ac04d /alot/mail/policy.py
parentaa2f8fe5215521437325b25ef89837657b081b7a (diff)
mail: add a custom email policy
Uses structured parsing for more headers.
Diffstat (limited to 'alot/mail/policy.py')
-rw-r--r--alot/mail/policy.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/alot/mail/policy.py b/alot/mail/policy.py
new file mode 100644
index 00000000..1b9f07c3
--- /dev/null
+++ b/alot/mail/policy.py
@@ -0,0 +1,19 @@
+# This file is released under the GNU GPL, version 3 or a later revision.
+# For further details see the COPYING file
+
+import email.policy as _p
+import email.headerregistry as _hdr
+
+from . import headers as HDR
+
+_headers = {
+ HDR.X_BEEN_THERE : _hdr.UniqueAddressHeader,
+ HDR.X_MAILING_LIST : _hdr.UniqueAddressHeader,
+}
+
+# here we define our custom policy that handles additional headers
+# derive from SMTP
+p = _p.EmailPolicy() + _p.SMTP
+
+for h, t in _headers.items():
+ p.header_factory.map_to_type(h, t)