Princípios de e-mail
PayCal trata o e-mail transacional como parte da segurança e continuidade da conta, não como infraestrutura de marketing.
- Modelos específicos de fluxo são usados para caminhos de verificação, recuperação, alteração de conta e contato com suporte.
- A composição do email é centralizada para evitar lógicas de mensagens divergentes entre controladores.
- As falhas de entrega retornam resultados explícitos para que os fluxos de chamada possam falhar com segurança e informar os usuários com clareza.
O que enviamos
| Fluxo | Objetivo | Família de modelos |
|---|---|---|
| Verificação de e-mail | Confirme a propriedade durante eventos do ciclo de vida da conta | email-verification-* |
| Verificação de e-mail de recuperação | Comprove a propriedade do destino antes de ações de recuperação confidenciais | email-recovery-email-code-* |
| Entrega da chave de recuperação | Fornecer material de recuperação de conta | email-recovery-key-* |
| Transação de recuperação de conta | Emitir código de verificação de recuperação de conta | email-account-recovery-code-* |
| Alteração de e-mail (caixa de entrada antiga/nova) | Confirmação de caixa de entrada dupla para mutação de e-mail da conta | email-change-code-* and email-change-confirmation-* |
| Entre em contato com o relé de suporte | Encaminhar solicitações de suporte para caixa de entrada de suporte com conteúdo normalizado | contact-email-* |
Pipeline de entrega
PayCal usa uma pilha de e-mail de duas camadas:
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.
Os links de verificação são localizados no ambiente usando a resolução do host de solicitação para que os links permaneçam alinhados ao contexto de implantação atual.
Suporte para telemetria e auditabilidade de e-mail
Os envios de contato de suporte incluem telemetria de melhor esforço para que a integridade da entrega possa ser monitorada sem bloquear os envios dos usuários.
- Aggregate counters are recorded under
telemetry:contact:*keys. - JSONL event records are appended to rotated logs via
PayCal\Domain\ContactSupportTelemetry. - A gravação de log não bloqueia para preservar a UX do formato de suporte se o armazenamento de telemetria estiver degradado.
Verificação e verificações de confiabilidade
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
Limite do escopo
Esta página documenta o comportamento transacional e de e-mail de suporte para operações de produtos PayCal. Ele não documenta a automação de marketing porque o PayCal não usa um funil de e-mail de marketing nesta base de código.
Última atualização: March 21, 2026.