hdx.utilities.email
module hdx.utilities.email
Utility class to simplify sending emails.
Classes
-
Email — Emailer utility. Parameters in dictionary or file (eg. yaml below):
class EmailConfigurationError()
Bases : Exception
class EmailSendError()
Bases : Exception
class Email(**kwargs: Any)
Emailer utility. Parameters in dictionary or file (eg. yaml below):
| connection_type: "ssl" ("ssl" for smtp ssl or "lmtp", otherwise basic smtp is assumed) | host: "localhost" | port: 123 | local_hostname: "mycomputer.fqdn.com" | timeout: 3 | username: "user" | password: "pass" | sender: "a@b.com" (if not supplied username is used as sender)
Parameters
-
**kwargs : Any — See below
-
email_config_dict : dict — HDX configuration dictionary OR
-
email_config_json : str — Path to JSON HDX configuration OR
-
email_config_yaml : str — Path to YAML HDX configuration. Defaults to ~/hdx_email_configuration.yaml.
Methods
-
connect — Connect to server.
-
close — Close connection to email server.
-
get_normalised_email — Get normalised email.
-
get_normalised_emails — Get list of normalised emails.
-
send — Send email. to, cc and bcc take either a string email address or a list of string email addresses. cc and bcc default to None.
Connect to server.
Returns
-
None — None
Close connection to email server.
Returns
-
None — None
staticmethod Email.get_normalised_email(email: str, check_deliverability: bool = False) → str
Get normalised email.
Parameters
-
email : str — Email address to normalise
Returns
-
str — Normalised email
Raises
classmethod Email.get_normalised_emails(emails: str | Sequence[str]) → list[str]
Get list of normalised emails.
Parameters
-
emails : str | Sequence[str] — Email address or addresses
Returns
-
list[str] — Normalised emails
method Email.send(to: str | Sequence[str], subject: str, text_body: str, html_body: str | None = None, sender: str | None = None, cc: str | Sequence[str] | None = None, bcc: str | Sequence[str] | None = None, **kwargs: Any) → None
Send email. to, cc and bcc take either a string email address or a list of string email addresses. cc and bcc default to None.
Parameters
-
to : str | Sequence[str] — Email recipient(s)
-
subject : str — Email subject
-
text_body : str — Plain text email body
-
html_body : str | None — HTML email body
-
sender : str | None — Email sender. Defaults to global sender.
-
cc : str | Sequence[str] | None — Email cc. Defaults to None.
-
bcc : str | Sequence[str] | None — Email bcc. Defaults to None.
-
**kwargs : Any — See below
-
mail_options : list — Mail options (see smtplib documentation)
-
rcpt_options : list — Recipient options (see smtplib documentation)
Returns
-
None — None