API Reference

The Email Object

An email object that in a serializable, previewable format, optimized for emails with content generated by data scientists.

IntermediateEmail A serializable, previewable, sendable email object for data science workflows.
IntermediateEmail.write_preview_email Write a preview HTML file with inline attachments embedded.
IntermediateEmail.write_email_message Convert the IntermediateEmail to a Python EmailMessage.
IntermediateEmail.preview_send_email Send a preview of the email to a test recipient.

Uploading emails

Converting emails to IntermediateEmails, at which point they can be previewed, tested, and sent.

quarto_json_to_intermediate_email Convert a Quarto output metadata JSON file to an IntermediateEmail
mjml_to_intermediate_email Convert MJML markup to an IntermediateEmail
redmail_to_intermediate_email Convert a Redmail EmailMessage object to an IntermediateEmail
yagmail_to_intermediate_email Convert a Yagmail email object to an IntermediateEmail

Sending

Functions to sending emails with different providers. And a special handy one to bypass the intermediate object if you are sending a quarto email.

send_intermediate_email_with_gmail Send an Intermediate Email object via Gmail.
send_intermediate_email_with_smtp Send an Intermediate Email object via SMTP.
send_intermediate_email_with_redmail Send an Intermediate Email object via Redmail.
send_intermediate_email_with_yagmail Send an Intermediate Email object via Yagmail.
send_intermediate_email_with_mailgun Send an Intermediate Email object via Mailgun.
send_quarto_email_with_gmail Send an email using Gmail with content from a Quarto metadata JSON file.

Utilities

Previews and more

write_email_message_to_file Writes the HTML content of an email message to a file, inlining any images referenced by Content-ID (cid).

MJML Authoring

Write responsive emails with MJML

mjml.mjml Create an MJML <mjml> tag.
mjml.head Create an MJML <mj-head> tag.
mjml.body Create an MJML <mj-body> tag.
mjml.include Create an MJML <mj-include> tag.
mjml.attributes Create an MJML <mj-attributes> tag.
mjml.breakpoint Create an MJML <mj-breakpoint> tag.
mjml.font Create an MJML <mj-font> tag.
mjml.html_attributes Create an MJML <mj-html-attributes> tag.
mjml.preview Create an MJML <mj-preview> tag.
mjml.style Create an MJML <mj-style> tag.
mjml.title Create an MJML <mj-title> tag.
mjml.accordion Create an MJML <mj-accordion> tag.
mjml.accordion_element Create an MJML <mj-accordion-element> tag.
mjml.accordion_text Create an MJML <mj-accordion-text> tag.
mjml.accordion_title Create an MJML <mj-accordion-title> tag.
mjml.button Create an MJML <mj-button> tag.
mjml.carousel Create an MJML <mj-carousel> tag.
mjml.carousel_image Create an MJML <mj-carousel-image> tag.
mjml.column Create an MJML <mj-column> tag.
mjml.divider Create an MJML <mj-divider> tag.
mjml.group Create an MJML <mj-group> tag.
mjml.hero Create an MJML <mj-hero> tag.
mjml.image Create an MJML <mj-image> tag.
mjml.navbar Create an MJML <mj-navbar> tag.
mjml.navbar_link Create an MJML <mj-navbar-link> tag.
mjml.raw Create an MJML <mj-raw> tag.
mjml.section Create an MJML <mj-section> tag.
mjml.social Create an MJML <mj-social> tag.
mjml.social_element Create an MJML <mj-social-element> tag.
mjml.spacer Create an MJML <mj-spacer> tag.
mjml.table Create an MJML <mj-table> tag.
mjml.text Create an MJML <mj-text> tag.
mjml.wrapper Create an MJML <mj-wrapper> tag.