anvil.testing.email Module
The anvil.testing.email module contains helpers for testing server code that sends email. They only work in server tests.
Classes
SentEmail
Functions
capture_emails
Classes
SentEmail
An email the app’s code sent inside a capture_emails() block. Its attributes are the arguments the code passed to anvil.email.send().
SentEmail Attributes
attachments - list(anvil.Media instance)
The attachments.
bcc - bcc
The bcc argument the code passed to anvil.email.send(): a string, a list of strings, or None.
cc - cc
The cc argument the code passed to anvil.email.send(): a string, a list of strings, or None.
from_address - string
The from_address the code passed to anvil.email.send(), or None.
from_name - string
The from_name the code passed to anvil.email.send(), or None.
html - string
The HTML content, or None.
in_reply_to - string
The Message-ID this email replies to, eg when sent with Message.reply(), or None.
inline_attachments - dict(string,anvil.Media instance)
The inline attachments, by Content-ID.
message_id - string
The Message-ID that anvil.email.send() returned in its SendReport.
references - string
The References header, or None.
subject - string
The subject line, or None.
text - string
The plain-text content, or None.
to - to
The to argument the code passed to anvil.email.send(): a string, a list of strings, or None.
Functions
capture_emails()
Use in a with block to capture the emails the app’s code sends, including from background tasks and Message.reply().
Yields a list when the block ends, filled with SentEmail objects for the emails sent inside the block. Tests never send real email. Wait inside the block for any background tasks whose emails you want to check.
with capture_emails() as emails:
place_order(user, items)
[email] = emails
assert email.to == ["Alice <alice@example.com>"]
Do you still have questions?
Our Community Forum is full of helpful information and Anvil experts.