# Red Mail: Advanced Email Sender > Next generation email sender --- [](https://pypi.org/project/redmail/) [](https://github.com/Miksus/red-mail/actions/workflows/main.yml) [](https://codecov.io/gh/Miksus/red-mail) [](https://red-mail.readthedocs.io/en/latest/) [](https://pypi.org/project/redmail/) ## What is it? Red Mail is an advanced email sender library. It makes sending emails trivial and has a lot of advanced features such as: - [Attachments](https://red-mail.readthedocs.io/en/latest/tutorials/attachments.html) - [Templating (with Jinja)](https://red-mail.readthedocs.io/en/latest/tutorials/jinja_support.html) - [Embedded images](https://red-mail.readthedocs.io/en/latest/tutorials/body_content.html#embedded-images) - [Prettified tables](https://red-mail.readthedocs.io/en/latest/tutorials/body_content.html#embedded-tables) - [Send as cc or bcc](https://red-mail.readthedocs.io/en/latest/tutorials/sending.html#sending-email-with-cc-and-bcc) - [Gmail preconfigured](https://red-mail.readthedocs.io/en/latest/tutorials/config.html#gmail) See more from the [documentations](https://red-mail.readthedocs.io/en/latest/) or see [release from PyPI](https://pypi.org/project/redmail/). Install it from PyPI: ```shell pip install redmail ``` ## Why Red Mail? Sending emails **SHOULD NOT** be this complicated: ```python import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText msg = MIMEMultipart('alternative') msg['Subject'] = 'An example email' msg['From'] = 'first.last@gmail.com' msg['To'] = 'first.last@example.com' part1 = MIMEText("Hello!", 'plain') part2 = MIMEText("
Have you seen this thing:
{{ awesome_image }}Or this:
{{ pretty_table }}Or this plot:
{{ a_plot }}Kind regards, {{ sender.full_name }}
""", # Content that is embed to the body body_params={'friend': 'Jack'}, body_images={ 'awesome_image': 'path/to/image.png', 'a_plot': plt.Figure(...) }, body_tables={ 'pretty_table': pd.DataFrame(...) }, # Attachments of the email attachments={ 'some_data.csv': pd.DataFrame(...), 'file_content.html': '