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.

Source Distribution

smtputility-1.3.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

smtputility-1.3-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file smtputility-1.3.tar.gz.

File metadata

  • Download URL: smtputility-1.3.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.5

File hashes

Hashes for smtputility-1.3.tar.gz
Algorithm Hash digest
SHA256 1c6aebfdb4bd1de1ada1165783bc79f3ce3fc8203cfc79a11293bdd4b1b950f0
MD5 d03809cbc525a27ed290c75e24ce7b02
BLAKE2b-256 2300ace6abfc3f5267c1b48fa706b5301f978fa1257b809d1251c6bf7d06857d

See more details on using hashes here.

File details

Details for the file smtputility-1.3-py3-none-any.whl.

File metadata

  • Download URL: smtputility-1.3-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.5

File hashes

Hashes for smtputility-1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b060d39c5993fd4d83fb982275170c0e9ab9560789912f04ed2442fb985926c3
MD5 9777fdea6fb02b8be9f028a490c9126c
BLAKE2b-256 fa9cbcba71c155893ec597bce7a9e2aa05047ffc0ea1a05de84838cd95fd2e75

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page