Skip to main content

SMTP email automation functions

Project description

SMTP_PyPi_Package

  • SMTP Helper functions. Only uses Standard Library.

email_without_attachment: Send email without attachments.

def email_without_attachment(message: str, subject: str, to_list: str, cc_list: str, login: str, password: str):
    """
    :param message: HTML String with Email message contained. See Examples/Email_Strings.py
    :param subject: Subject String
    :param to_list: Semicolon separated list of email addresses. (ex - a@abc.com; b@abc.com; c@abc.com;)
    :param cc_list: Semicolon separated list of email addresses. (ex - a@abc.com; b@abc.com; c@abc.com;)
    :param login: Login email. 
    :param password: Password for O365
    """
Example Call
from smtputility import email_without_attachment
test_message = """
<HTML>
    <BODY>
     Message Text
     <br>
    </BODY>
</HTML>
"""

email_without_attachment(test_message,'SMTP Testing','a@abc.com;b@abc.com;','c@abc.com','email@domain.com','password')

email_with_attachments: Send email with attachments. Can send any number/type of attachments in email.

def email_with_attachments(
        message: str, subject: str, to_list: str, cc_list: str, login: str, password: str, *args
):
    """ 
        :param login: Login email. 
        :param password: Password for O365.
        :param message: HTML String with Email message contained. See Examples/Email_Body.html.
        :param subject: Subject String
        :param to_list: Semicolon separated list of email addresses. (ex - a@abc.com; b@abc.com; c@abc.com;)
        :param cc_list: Semicolon separated list of email addresses. (ex - a@abc.com; b@abc.com; c@abc.com;)
        :param *args: Paths to attachments. 
        """
Example Call
from smtputility import email_with_attachments

test_message = """
<HTML>
    <BODY>
     Message Text
     <br>
    </BODY>
</HTML>
"""

email_with_attachments(test_message,'SMTP Testing','a@abc.com;b@abc.com;','c@abc.com','email@domain.com','password',
r'C:\Users\user\some_directory\test_1.txt')

notify_error: Automated email report for use in exception catch.

def notify_error(report_name, error_log, to_list: str,login: str, password: str):
    """

    :param to_list: List of emails to receive notification.
    :param report_name: Name of automated report.
    :param error_log: Raised exception or other error to report.
    :param login: Login email. 
    :param password: Password for O365
    """
Example Call
from smtputility import notify_error
import os
def foo():
    raise Exception('Error!')
try:
    foo()
except Exception as e:
    notify_error(f"{os.path.basename(__file__)}", e, "a@email.com",'email@domain.com','password')

notify_error: Automated email report for use in exception catch.

def default_table_style(df, index: False):
    """ Apply a default clean table style to pandas df.to_html() for use in email strings.

    :param index: Determines whether you want index displayed in the HTML. Defaults to False.
    :type index: Boolean
    :param df: Dataframe to apply the style to.
    :type df: Pandas Dataframe
    :return: HTML string for insertion in email.
    :rtype: string
    """
Example Call
from smtputility import default_table_style
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randint(0,100,size=(15, 4)), columns=list('ABCD'))
test_message = f"""
<HTML>
    <BODY>
     {default_table_style(df,index=False)}
     <br>
    </BODY>
</HTML>
"""

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for smtputility, version 1.3
Filename, size File type Python version Upload date Hashes
Filename, size smtputility-1.3-py3-none-any.whl (6.5 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size smtputility-1.3.tar.gz (3.9 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page