Preserve X-SL-Queue-Id (#2076)
This commit is contained in:
parent
0da1811311
commit
36cf530ef8
|
@ -21,6 +21,7 @@ LIST_UNSUBSCRIBE = "List-Unsubscribe"
|
||||||
LIST_UNSUBSCRIBE_POST = "List-Unsubscribe-Post"
|
LIST_UNSUBSCRIBE_POST = "List-Unsubscribe-Post"
|
||||||
RETURN_PATH = "Return-Path"
|
RETURN_PATH = "Return-Path"
|
||||||
AUTHENTICATION_RESULTS = "Authentication-Results"
|
AUTHENTICATION_RESULTS = "Authentication-Results"
|
||||||
|
SL_QUEUE_ID = "X-SL-Queue-Id"
|
||||||
|
|
||||||
# headers used to DKIM sign in order of preference
|
# headers used to DKIM sign in order of preference
|
||||||
DKIM_HEADERS = [
|
DKIM_HEADERS = [
|
||||||
|
|
|
@ -875,6 +875,7 @@ def forward_email_to_mailbox(
|
||||||
# References and In-Reply-To are used for keeping the email thread
|
# References and In-Reply-To are used for keeping the email thread
|
||||||
headers.REFERENCES,
|
headers.REFERENCES,
|
||||||
headers.IN_REPLY_TO,
|
headers.IN_REPLY_TO,
|
||||||
|
headers.SL_QUEUE_ID,
|
||||||
headers.LIST_UNSUBSCRIBE,
|
headers.LIST_UNSUBSCRIBE,
|
||||||
headers.LIST_UNSUBSCRIBE_POST,
|
headers.LIST_UNSUBSCRIBE_POST,
|
||||||
] + headers.MIME_HEADERS
|
] + headers.MIME_HEADERS
|
||||||
|
|
|
@ -384,3 +384,30 @@ def test_break_loop_alias_as_mailbox(flask_client):
|
||||||
msg[headers.SUBJECT] = random_string()
|
msg[headers.SUBJECT] = random_string()
|
||||||
result = email_handler.handle(envelope, msg)
|
result = email_handler.handle(envelope, msg)
|
||||||
assert result == status.E525
|
assert result == status.E525
|
||||||
|
|
||||||
|
|
||||||
|
@mail_sender.store_emails_test_decorator
|
||||||
|
def test_preserve_headers(flask_client):
|
||||||
|
headers_to_keep = [
|
||||||
|
headers.SUBJECT,
|
||||||
|
headers.DATE,
|
||||||
|
headers.MESSAGE_ID,
|
||||||
|
headers.REFERENCES,
|
||||||
|
headers.IN_REPLY_TO,
|
||||||
|
headers.SL_QUEUE_ID,
|
||||||
|
] + headers.MIME_HEADERS
|
||||||
|
user = create_new_user()
|
||||||
|
alias = Alias.create_new_random(user)
|
||||||
|
envelope = Envelope()
|
||||||
|
envelope.mail_from = "somewhere@lo.cal"
|
||||||
|
envelope.rcpt_tos = [alias.email]
|
||||||
|
msg = EmailMessage()
|
||||||
|
for header in headers_to_keep:
|
||||||
|
msg[header] = header + "keep"
|
||||||
|
result = email_handler.handle(envelope, msg)
|
||||||
|
assert result == status.E200
|
||||||
|
sent_mails = mail_sender.get_stored_emails()
|
||||||
|
assert len(sent_mails) == 1
|
||||||
|
msg = sent_mails[0].msg
|
||||||
|
for header in headers_to_keep:
|
||||||
|
assert msg[header] == header + "keep"
|
||||||
|
|
Loading…
Reference in New Issue