ExtronLib-CDS/extronlib/system/Email.py

73 lines
2.7 KiB
Python
Raw Normal View History

from typing import Optional
class Email():
""" Class to send email using the configured mail settings. The confiured settings can be over ridden during instantiation.
Note: default sender will be login username@unit-name or hostname@unit-name if there is no authentication. To override, call Sender()
2021-09-21 15:27:39 +00:00
---
Arguments:
- smtpServer (string) - ip address or hostname of SMTP server
- port (int) - port number
- username (string) - login username for SMTP authentication
- password (string) - login password for SMTP authentication
- sslEnabled (bool) - Enable (True) or Disable (False) SSL for the connection
"""
smtpServer: str = ''
port: int = 0
username: str = ''
password: str = ''
sslEnabled: bool = False
def __init__(self, smtpServer: str=None, port: int=None, username: str=None, password: str=None, sslEnabled: bool=None):
""" Email class constructor.
Arguments:
- smtpServer (string) - ip address or hostname of SMTP server
- port (int) - port number
- username (string) - login username for SMTP authentication
- password (string) - login password for SMTP authentication
- sslEnabled (bool) - Enable (True) or Disable (False) SSL for the connection
"""
...
def Receiver(self, receiver: list[str]=None, cc: bool=False) -> None:
""" Set receivers email address(es) by passing in a list of strings. For example, ['abc@extron.com,xyz@extron.com] It will appear in the <To::: receiver> field of the email. If cc is set to True, it will appear in the <CC::: receiver> field of the email.
Arguments:
- receiver (list of strings) - receivers email address(es)
- (optional) cc (bool) - Set True to put the receiver address(es) in the cc list
Note: Receiver() must be called each time the list changes.
"""
...
def SendMessage(self, msg:str) -> None:
""" Create main body of the email and send out. Message string will be sent out as plain text.
Arguments:
- msg (string) - message to send
"""
...
def Sender(self, sender: str) -> None:
""" Set senders email address. It will appear in the <From: sender> field of the email.
Arguments:
- sender (string) - sender email address
Note: Overrides default sender.
"""
...
def Subject(self, subject: str) -> None:
""" Set emails subject. It will appear in the <Subject::: > field of the email.
Arguments:
- subject (string) - subject of the email
"""
...