Mailer — Přehled¶
Modul pro odesílání e-mailů s výměnnými transporty. Konfigurace přes .env, odesílání přes MessageBuilder + MailerFactory.
Architektura¶
MailerFactory::create()
└── CoreMailer
└── TransportInterface
├── SmtpTransport (výchozí)
├── PostmarkTransport
├── EcomailTransport
├── MailTransport (PHP mail())
└── NullTransport (testovací — nic neodešle)
MailerFactory čte MAILER_DRIVER z .env a vrátí nakonfigurovaný CoreMailer.
Konfigurace¶
Společné proměnné¶
MAILER_DRIVER=smtp # smtp | postmark | ecomail | mail | null
MAIL_FROM=noreply@firma.cz
MAIL_FROM_NAME=Firma s.r.o.
SMTP (výchozí)¶
MAILER_DRIVER=smtp
SMTP_HOST=smtp.firma.cz
SMTP_PORT=587
SMTP_USERNAME=user@firma.cz
SMTP_PASSWORD=tajneheslo
SMTP_SECURE=true # true = STARTTLS, false = SMTPS
Postmark¶
Ecomail¶
PHP mail()¶
Null transport (testy, dev)¶
Test doručení¶
Pokud je v konfigu nastaven příznak email:on_test = true:
MessageBuilder::to()přesměruje příjemce na adresu zemail:testMessageBuilder::cc()abcc()jsou potlačeny (prázdné pole)
Inicializace v bootstrap¶
app/mailer.php je načteno automaticky při startu aplikace:
$mailer je globální instance — v praxi se ale MailerFactory::create() volá přímo v místě použití.