BeautifulEmail
⚠️🏗️️ Note:
This is only the first version - actively working on additional features!
BeautifulEmail is a python package that makes it easy and quick to send beautifully formatted emails with beuatiful tables/dataframes. BeautifulEmail is for Data Scientists with a deadline.
Email Example:
Getting it
$ pip install beautifulemail
Update Package: (execute regularly to get the latest features)
$ pip install beautifulemail --upgrade
How to use:
from beautifulemail import Connection, DataFrameToHTML
df_styled = ...
df_html = DataFrameToHTML(df=df_styled)
df_html.col_num_fmt_auto()
df_html.col_styles(column=['last_contact', 'revenue'], classes=['bg_light_blue'])
df_html.col_styles(column=['last_contact'], classes=['text_color_amber'])
email_body_markdown = f"""
Hi,
This is a test email with **bold text**, *italic text*, ~~strikethrough text~~, <mark>highlited text</mark>, [hyperlink text](https://www.google.com), and text that could be footnoted<note>[1]</note>.
# This would be a Heading 1 of an ordered list
1. First step
2. Second step
3. Third step
{df_html}
Embedded image:
<img src="cid:image1" style="width: 100px;">
Best wishes,
Me
"""
with Connection(host='smtp.gmail.com', port=465, ssl=True, user='myemai@gmail.com', password='my_password') as conn:
status = conn.send_email(
from_='my_emai@gmail.com',
to_=['your_emai@gmail.com', 'second_emai@gmail.com'],
subject='Email Subject',
body_markdown=email_body_markdown,
attachments=['./README.md'],
embedded_imgs=['./email_preview.jpg'],
dry_run=False
)
print('Email sent:', status)
conn.save_sent_email_summary('sent_emails.xlsx')