from typing import Dict, List from zope.interface import Interface from .IUser import IUser class IMailService(Interface): """An interface to send email messages.""" def send(_from: str, to: str, headers: Dict[str, str], content: str): """Send a message with the given headers and content.""" def send_welcome_message_to(user: IUser, password: str): """ Send a welcome message to the new member, including their temporary password. """ def announce_new_user(user: IUser, operations: List[str]): """ Announce to the ceo mailing list that the new user was created. `operations` is a list of the operations which were performed during the transaction. """