Source code for simdb.email.server

import smtplib
from typing import List
from email_validator import validate_email
from ..config import Config


[docs] class EmailServer: _server: str _port: int _user: str _password: str def __init__(self, config: Config): self._server = config.get_option("email.server") self._port = int(config.get_option("email.port")) self._user = config.get_option("email.user") self._password = config.get_option("email.password")
[docs] def send_message(self, subject: str, body: str, to_addresses: List[str]): server = smtplib.SMTP(self._server, self._port) server.starttls() server.login(self._user, self._password) sent_to = [validate_email(i).email for i in to_addresses] sent_to_list = ",".join(sent_to) email_text = f"""\ From: {self._user} To: {sent_to_list} Subject: {subject} {body} """ server.sendmail(self._user, sent_to, email_text) server.close()