Source code for regstack.email.factory
from __future__ import annotations
from typing import TYPE_CHECKING
from regstack.email.base import EmailService
from regstack.email.console import ConsoleEmailService
if TYPE_CHECKING:
from regstack.config.schema import EmailConfig
[docs]
def build_email_service(config: EmailConfig) -> EmailService:
if config.backend == "console":
return ConsoleEmailService(log_bodies=config.log_bodies)
if config.backend == "smtp":
from regstack.email.smtp import SmtpEmailService
return SmtpEmailService(config)
if config.backend == "ses":
from regstack.email.ses import SesEmailService
return SesEmailService(config)
raise ValueError(f"Unknown email backend: {config.backend!r}")