Mga Prinsipyo sa Email
Itinuturing ng PayCal ang transaksyonal na email bilang bahagi ng kaligtasan ng account at pagpapatuloy ng account, hindi bilang imprastraktura sa marketing.
- Ang mga template na partikular sa daloy ay ginagamit para sa pag-verify, pagbawi, pagbabago ng account, at mga path ng suporta sa pakikipag-ugnayan.
- Ang komposisyon ng email ay sentralisado upang maiwasan ang magkakaibang lohika ng mensahe sa mga controller.
- Ang mga pagkabigo sa paghahatid ay nagbabalik ng mga tahasang kinalabasan upang ang mga daloy ng pagtawag ay maaaring mabigo nang ligtas at malinaw na ipaalam sa mga user.
Ang Ipapadala Namin
| Daloy | Layunin | Pamilya ng Template |
|---|---|---|
| Email verification | Kumpirmahin ang pagmamay-ari sa panahon ng mga kaganapan sa lifecycle ng account | email-verification-* |
| Pag-verify ng email sa pagbawi | Patunayan ang pagmamay-ari ng destinasyon bago ang mga sensitibong pagkilos sa pagbawi | email-recovery-email-code-* |
| Paghahatid ng Susi sa Pagbawi | Magbigay ng materyal sa pagbawi ng account | email-recovery-key-* |
| Transaksyon sa pagbawi ng account | Mag-isyu ng verification code sa pagbawi ng account | email-account-recovery-code-* |
| Pagbabago ng email (luma/bagong inbox) | Dual inbox confirmation para sa account email mutation | email-change-code-* and email-change-confirmation-* |
| Makipag-ugnayan sa relay ng suporta | Ipasa ang mga kahilingan sa suporta upang suportahan ang inbox na may normalized na nilalaman | contact-email-* |
Pipeline ng Paghahatid
Gumagamit ang PayCal ng dalawang-layer na email stack:
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.
Ang mga link sa pag-verify ay naka-localize sa kapaligiran gamit ang pagresolba ng host ng kahilingan upang manatiling nakahanay ang mga link sa kasalukuyang konteksto ng deployment.
Suportahan ang Telemetry at Auditability ng Email
Kasama sa mga pagsusumite ng contact-support ang pinakamahusay na pagsisikap na telemetry upang masubaybayan ang kalusugan ng paghahatid nang hindi hinaharangan ang mga pagsusumite ng user.
- Aggregate counters are recorded under
telemetry:contact:*keys. - JSONL event records are appended to rotated logs via
PayCal\Domain\ContactSupportTelemetry. - Ang pagsusulat ng log ay hindi naka-block upang mapanatili ang support-form na UX kung ang telemetry storage ay nasira.
Pagpapatunay at Pagiging Maaasahan
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
Hangganan ng Saklaw
Ang page na ito ay nagdodokumento ng transactional at suporta sa pag-uugali ng email para sa mga pagpapatakbo ng produkto ng PayCal. Hindi ito nagdodokumento ng marketing automation dahil ang PayCal ay hindi gumagamit ng marketing email funnel sa codebase na ito.
Huling na-update: March 21, 2026.