Skip to content

Commit 3675b42

Browse files
committed
Merge changes for #20 into default.
2 parents ba6f470 + 61941eb commit 3675b42

File tree

3 files changed

+24
-2
lines changed

3 files changed

+24
-2
lines changed

CHANGES

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
0.5 (2018-09-20)
2+
----------------
3+
4+
New feature: SMTP email message objects now include a ``details`` property
5+
capturing the envelope details.
6+
17
0.4.2 (2018-11-14)
28
----------------
39

pytest_localserver/smtp.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,22 @@ def process_message(self, peer, mailfrom, rcpttos, data, **kwargs):
5656
Adds message to outbox.
5757
"""
5858
try:
59-
self.outbox += [email.message_from_bytes(data)]
59+
message = email.message_from_bytes(data)
6060
except AttributeError:
61-
self.outbox += [email.message_from_string(data)]
61+
message = email.message_from_string(data)
62+
# on the message, also set the envelope details
63+
64+
class Bunch:
65+
def __init__(self, **kwds):
66+
vars(self).update(kwds)
67+
68+
message.details = Bunch(
69+
peer=peer,
70+
mailfrom=mailfrom,
71+
rcpttos=rcpttos,
72+
**kwargs
73+
)
74+
self.outbox.append(message)
6275

6376
def run(self):
6477
"""

tests/test_smtp.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,9 @@ def test_send_email(smtpserver):
6565
assert msg['To'] == '[email protected]'
6666
assert msg['From'] == '[email protected]'
6767
assert msg['Subject'] == 'Your e-mail is getting there'
68+
assert msg.details.rcpttos == ['[email protected]']
69+
assert msg.details.peer
70+
assert msg.details.mailfrom
6871

6972
# send another e-mail
7073
send_plain_email(

0 commit comments

Comments
 (0)