21 lines
624 B
Python
21 lines
624 B
Python
from anyio.functools import lru_cache
|
|
from src.application.contracts.i_sender import ISender
|
|
from src.infrastructure.config import settings
|
|
from src.infrastructure.mail.render import TemplateRenderer
|
|
from src.infrastructure.mail.sender import EmailSender
|
|
|
|
|
|
@lru_cache(maxsize=1)
|
|
def get_renderer() -> TemplateRenderer:
|
|
return TemplateRenderer()
|
|
|
|
|
|
@lru_cache(maxsize=1)
|
|
def get_email_sender() -> ISender:
|
|
return EmailSender(
|
|
host=settings.SMTP_HOST,
|
|
port=settings.SMTP_PORT,
|
|
username=str(settings.SMTP_USER),
|
|
password=settings.SMTP_PASSWORD,
|
|
from_addr=settings.SMTP_FROM,
|
|
) |