SMTP Helper functions. Only uses Standard Library.
email_without_attachment: Send email without attachments.
defemail_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
fromsmtputilityimportemail_without_attachmenttest_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.
defemail_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
fromsmtputilityimportemail_with_attachmentstest_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.
defnotify_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
fromsmtputilityimportnotify_errorimportosdeffoo():
raiseException('Error!')
try:
foo()
exceptExceptionase:
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.
defdefault_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 """