Files
notify/src/infrastructure/mail/__init__.py
2026-04-16 13:51:10 +03:00

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,
)