framework · laravel
Send email from Laravel
Laravel Mail is the canonical interface. Providers with a maintained transport beat raw SDK use.
Queues and Mailables are the standard pattern. Most providers ship a Symfony Mailer transport that Laravel composes.
patterns
Send patterns
- Mailable classes with markdown or blade templates.
- Queueable Mailables for async sends.
- Notification channels for transactional flows.
- Webhook controllers verifying provider signatures.
pitfalls
Common mistakes
- Forgetting ShouldQueue on Mailables in production.
- Mailtrap-style local config left enabled in staging.
- Webhook signature checks skipped because the route is unauthenticated.
provider picks for Laravel
- 01
Postmark
TransactionalMaintained Laravel transport.
100/mo developer plan · $15/mo for 10,000 emails - 02
Mailgun
TransactionalFirst-class Laravel transport.
100/day on Foundation trial · $15/mo for 10,000 emails (Basic) - 03
SendGrid
Transactional MarketingStable transport and queue compatibility.
60-day free trial only (permanent free tier was removed May 2025) · $19.95/mo for 50,000 emails - 04
Amazon SES
TransactionalNative SES driver in Laravel.
3,000 message charges/mo free for first 12 months · $0.10 per 1,000 emails
Want a language-level SDK comparison instead? See the SDK hub.