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
Release history Release notifications | RSS feed
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 hashes)
Built Distribution
Close
Hashes for smtputility-1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b060d39c5993fd4d83fb982275170c0e9ab9560789912f04ed2442fb985926c3 |
|
MD5 | 9777fdea6fb02b8be9f028a490c9126c |
|
BLAKE2b-256 | fa9cbcba71c155893ec597bce7a9e2aa05047ffc0ea1a05de84838cd95fd2e75 |