Why
MS19 Phase 1 §6 (stress-readiness check) exercised queue mechanics + retry behavior under a tight ceiling: Mailgun's free tier caps total outbound at 100 emails/day, and a single invoice flow can produce 5-6 emails across notice classes (send, acknowledgments, receipt, paid notice, plus alerts where applicable). That means meaningful provider-level stress wasn't feasible on the free tier.
When the mailer service is upgraded (paid Mailgun tier) or replaced (different provider) and the daily cap lifts, the stress check should be re-run at a larger ceiling.
What to re-test
- Burst behavior at scale: fire 100-500+ issued invoices in a tight loop; verify queue drains all
DeliverInvoiceMail jobs without double-sending or failed_jobs accumulation.
- Provider sub-daily rate limits: test against the upgraded provider's documented sub-daily rate limits (if any).
- Bounce / spam-folder simulation: send to a controlled bouncing address; verify the delivery log captures
failed status truthfully.
- Extended-duration soak: run a steady low-rate send (e.g., 1/min for 24h) and confirm no cumulative degradation, queue backlog, or provider throttling surprises.
Trigger
Open this issue when:
- Mailgun account is moved off the free tier, OR
- The mail provider is switched (e.g., to Postmark, SendGrid, AWS SES, self-hosted SMTP).
References
docs/strategies/19.1_NOTIFICATION_COVERAGE_AUDIT.md §6 — records what was tested under the free-tier ceiling and what was deferred to this follow-up.
Why
MS19 Phase 1 §6 (stress-readiness check) exercised queue mechanics + retry behavior under a tight ceiling: Mailgun's free tier caps total outbound at 100 emails/day, and a single invoice flow can produce 5-6 emails across notice classes (send, acknowledgments, receipt, paid notice, plus alerts where applicable). That means meaningful provider-level stress wasn't feasible on the free tier.
When the mailer service is upgraded (paid Mailgun tier) or replaced (different provider) and the daily cap lifts, the stress check should be re-run at a larger ceiling.
What to re-test
DeliverInvoiceMailjobs without double-sending orfailed_jobsaccumulation.failedstatus truthfully.Trigger
Open this issue when:
References
docs/strategies/19.1_NOTIFICATION_COVERAGE_AUDIT.md§6 — records what was tested under the free-tier ceiling and what was deferred to this follow-up.