mirror of
https://github.com/simple-login/app.git
synced 2025-02-23 23:34:05 +08:00
Fix "Content-Transfer-Encoding" issue when encrypting emails
This commit is contained in:
parent
6cfd534192
commit
703d9385b5
2 changed files with 13 additions and 9 deletions
|
@ -7,6 +7,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [Unreleased]
|
||||
Fix "Content-Transfer-Encoding" issue https://github.com/simple-login/app/issues/125
|
||||
|
||||
## [3.0.0] - 2020-04-13
|
||||
New endpoints to create/update aliases:
|
||||
|
|
|
@ -261,24 +261,27 @@ def should_append_alias(msg: Message, address: str):
|
|||
return True
|
||||
|
||||
|
||||
_MIME_HEADERS = [
|
||||
"MIME-Version",
|
||||
"Content-Type",
|
||||
"Content-Disposition",
|
||||
"Content-Transfer-Encoding",
|
||||
]
|
||||
_MIME_HEADERS = [h.lower() for h in _MIME_HEADERS]
|
||||
|
||||
|
||||
def prepare_pgp_message(orig_msg: Message, pgp_fingerprint: str):
|
||||
msg = MIMEMultipart("encrypted", protocol="application/pgp-encrypted")
|
||||
|
||||
# copy all headers from original message except the "Content-Type"
|
||||
# copy all headers from original message except all standard MIME headers
|
||||
for i in reversed(range(len(orig_msg._headers))):
|
||||
header_name = orig_msg._headers[i][0].lower()
|
||||
if header_name != "Content-Type".lower():
|
||||
if header_name.lower() not in _MIME_HEADERS:
|
||||
msg[header_name] = orig_msg._headers[i][1]
|
||||
|
||||
# Delete unnecessary headers in orig_msg except to save space
|
||||
delete_all_headers_except(
|
||||
orig_msg,
|
||||
[
|
||||
"MIME-Version",
|
||||
"Content-Type",
|
||||
"Content-Disposition",
|
||||
"Content-Transfer-Encoding",
|
||||
],
|
||||
orig_msg, _MIME_HEADERS,
|
||||
)
|
||||
|
||||
first = MIMEApplication(
|
||||
|
|
Loading…
Reference in a new issue