Skip to content

Commit af98c7f

Browse files
authored
Show any extra headers that have been added (#24)
1 parent 82cf6c9 commit af98c7f

File tree

4 files changed

+15
-0
lines changed

4 files changed

+15
-0
lines changed

mail_panel/backend.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ def __init__(self, message):
2626
from_email=message.from_email,
2727
body=message.body,
2828
alternatives=message.alternatives,
29+
headers=message.extra_headers,
2930
)
3031

3132

mail_panel/static/debug_toolbar/mail/mail_toolbar.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,10 @@
8181
float: right;
8282
color: #888 !important;
8383
}
84+
#djDebug .djm-mail-toolbar .djm-extra-headers{
85+
border-top: 1px solid #f5f5f5;
86+
color: #888 !important;
87+
}
8488
#djDebug .djm-mail-toolbar #djm_message_overview{
8589
border-bottom: 1px solid #f5f5f5;
8690
position:relative;

mail_panel/templates/mail_panel/message_overview.html

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@ <h4>Mail message could not be found</h4>
1616
{{message.bcc}}<br>
1717
{% endif %}
1818
{{message.subject}}<br>
19+
{% if message.extra_headers %}
20+
<div class='djm-extra-headers'>
21+
{% for header, value in message.extra_headers.items %}
22+
{{header}}: {{value}}<br>
23+
{% endfor %}
24+
</div>
25+
{% endif %}
1926

2027
{% if message.attachments %}
2128
<div class='djm-no-select'>

tests/test_toolbar.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ def get_fake_message(
4141
from_email=None,
4242
body=None,
4343
alternatives=None,
44+
headers=None,
4445
):
4546
# TODO Use Faker (https://github.com/joke2k/faker)
4647
return mail.EmailMultiAlternatives(
@@ -52,6 +53,7 @@ def get_fake_message(
5253
from_email=from_email or '[email protected]',
5354
body=body or 'body',
5455
alternatives=alternatives or [('<b>HTML</b> body', 'text/html')],
56+
headers=headers or {'X-MyHeader': 'myheader'}
5557
)
5658

5759
def test_panel(self):
@@ -101,6 +103,7 @@ def test_backend_email(self):
101103
self.assertEqual(message.from_email, fake_message.from_email)
102104
self.assertEqual(message.body, fake_message.body)
103105
self.assertEqual(message.alternatives, fake_message.alternatives)
106+
self.assertEqual(message.extra_headers, fake_message.extra_headers)
104107

105108
# Check extra fields
106109
self.assertIsNotNone(message.id)

0 commit comments

Comments
 (0)