E-mailprincipes
PayCal behandelt transactionele e-mail als onderdeel van accountveiligheid en accountcontinuïteit, niet als marketinginfrastructuur.
- Stroomspecifieke sjablonen worden gebruikt voor verificatie, herstel, accountwijziging en contactondersteuning.
- De samenstelling van e-mails is gecentraliseerd om uiteenlopende berichtlogica tussen controllers te voorkomen.
- Leveringsfouten leveren expliciete resultaten op, zodat belstromen veilig kunnen mislukken en gebruikers duidelijk kunnen worden geïnformeerd.
Wat we verzenden
| Stroom | Doel | Sjabloonfamilie |
|---|---|---|
| E-mailverificatie | Bevestig het eigendom tijdens gebeurtenissen in de accountlevenscyclus | email-verification-* |
| Herstel-e-mailverificatie | Bewijs het eigendom van de bestemming vóór gevoelige herstelacties | email-recovery-email-code-* |
| Levering van herstelsleutel | Zorg voor materiaal voor accountherstel | email-recovery-key-* |
| Transactie voor accountherstel | Verificatiecode voor accountherstel uitgeven | email-account-recovery-code-* |
| E-mailwijziging (oude/nieuwe inbox) | Dubbele inboxbevestiging voor account-e-mailmutatie | email-change-code-* and email-change-confirmation-* |
| Neem contact op met het ondersteuningsrelais | Stuur ondersteuningsverzoeken door om de inbox met genormaliseerde inhoud te ondersteunen | contact-email-* |
Leveringspijplijn
PayCal gebruikt een e-mailstack met twee lagen:
PayCal\Domain\EmailGarum: workflow-level orchestration and template selection.PayCal\Domain\EmailTransport: SMTP protocol transport (connect, STARTTLS, AUTH, send, close).
Template rendering is performed via PayCal\Domain\Render::template(), with both HTML and text bodies built for each flow.
Verificatiekoppelingen worden in de omgeving gelokaliseerd met behulp van verzoekhostresolutie, zodat koppelingen afgestemd blijven op de huidige implementatiecontext.
Ondersteuning van e-mailtelemetrie en controleerbaarheid
Contactondersteuningsinzendingen omvatten best-effort-telemetrie, zodat de status van de levering kan worden gecontroleerd zonder inzendingen van gebruikers te blokkeren.
- Aggregate counters are recorded under
telemetry:contact:*keys. - JSONL event records are appended to rotated logs via
PayCal\Domain\ContactSupportTelemetry. - Het schrijven van logboeken is niet-blokkerend om de UX van ondersteuningsvorm te behouden als de telemetrie-opslag verslechtert.
Verificatie- en betrouwbaarheidscontroles
html/tests/Unit/EmailTemplateRenderTest.phpverifies all supported templates render with expected placeholder substitution.html/tests/Integration/LiveEmailTemplateSweepTest.phpprovides opt-in live SMTP end-to-end template coverage.html/tests/Integration/EmailSendTest.phpprovides opt-in single-message verification for SMTP, DKIM, DMARC, and Message-ID health.
# Opt-in live template sweep cd html PAYCAL_RUN_LIVE_EMAIL_SWEEP=1 PAYCAL_LIVE_EMAIL_RECIPIENT=you@example.com \ ./vendor/bin/phpunit --configuration phpunit.xml tests/Integration/LiveEmailTemplateSweepTest.php # Opt-in single email stack verification cd html PAYCAL_RUN_LIVE_EMAIL=1 PAYCAL_LIVE_EMAIL_RECIPIENT=you@example.com \ ./vendor/bin/phpunit --configuration phpunit.xml tests/Integration/EmailSendTest.php
Bereikgrens
Deze pagina documenteert transactioneel en ondersteunend e-mailgedrag voor PayCal-productbewerkingen. Het documenteert geen marketingautomatisering omdat PayCal in deze codebase geen marketing-e-mailtrechter gebruikt.
Laatst bijgewerkt: March 21, 2026.