How to send email during Development time in Laravel?

So you are working on sending emails feature on you laravel project. During this time you will likely need to test sending email are they displayed correctly etc. However you might not actually sending the real email to the address because most likely you will get your email to spam filter.

SMTP Server Offline

When you are working with offile smtp server it mean you need to setup the server manually.

Mailpit https://mailpit.axllent.org/

Pros:

  • Acts as a full-featured SMTP server for testing purposes
  • Provides a modern web UI for viewing captured emails
  • Has an API for automated testing integration
  • Open source with MIT license
  • Available as single binary or Docker images for ease of use
  • Fast performance capable of handling high email volumes
  • Advanced features like SMTP authentication, email pruning, webhooks

Cons:

  • Not intended for production email environments, only testing
  • Lacks some enterprise-level features like clustering for high availability
  • No official support offered
  • Limited documentation compared to more mature projects
  • Developed by a single person so bus factor is low
  • Web UI only provides basic user management, not fine-grained permissions

Mailhog -https://github.com/mailhog/MailHog

Pros:

  • Easy to install and run without needing additional configuration
  • Supports multiple platforms like MacOS, Linux, FreeBSD, and Docker
  • Includes a web UI for viewing emails sent through it
  • Has an API for programmatically accessing messages
  • Lets you release emails to real SMTP servers for actual delivery
  • Implements important SMTP standards like auth, pipelining, encodings
  • Has features like chaos monkey testing, multipart MIME support
  • Open source with MIT license

Cons:

  • Primarily intended for email testing/development purposes, not production use
  • Defaults to in-memory storage so messages are not persisted by default
  • Limited documentation on advanced configuration and deployment options
  • Less feature-rich than full enterprise mail servers
  • Being a small project, community support may be less than bigger platforms

SMTP Server Online

Mailtrap https://mailtrap.io/

Pros:

  • Free tier available for basic usage
  • Easy set up with fake SMTP server to test emails without sending them externally
  • Spam score checker to test deliverability
  • Email templates testing to ensure proper formatting on different devices/clients
  • API available for automating tests
  • Team collaboration features for larger organizations
  • Integrations with other apps like Jira, Slack, etc.

Cons:

  • Free tier has low limits for # of emails, inboxes, etc. which may not work for larger scale testing
  • No ability to actually send emails externally to test full delivery flow
  • Advanced features like forwarded emails, SSO, etc. only available on higher paid tiers
  • Can get pricey for larger organizations that need higher limits and advanced features
  • Some limitations around attachments sizes, # of emails per inbox, etc. on lower tiers
  • No uptime guarantee like with some other commercial email services

Mailcatch https://mailcatch.app/

Pros:

  • Offers an Enterprise plan for large teams and high email volumes
  • Enterprise plan has unlimited inboxes, emails, and team members
  • 24/7 customer support available for Enterprise plan
  • No credit card required to get started
  • Can get 20% discount on pricing

Cons:

  • No clear pricing listed for the plans
  • Likely more expensive for higher volume or team needs
  • Unlimited plan features may get throttled at extremely high usage
  • Support plan and levels unclear for non-Enterprise accounts
  • Could lock you into pricey higher-tier plan as email needs scale
  • Discount percentage seems arbitrary rather than incentive-based

Ethereal https://ethereal.email/

Pros:

  • Easy to preview sent emails online with a public URL or through an IMAP client. Helps with testing and verification.
  • Auto-expires old messages after a few hours to manage storage.
  • Can create unlimited accounts programmatically from Nodemailer.
  • Works with any SMTP library or email client.

Cons:

  • Messages only stored for a few hours before being deleted automatically.
  • Limited to 100MB quota per account. Could hit limits if sending large files.
  • No delivery guarantees since emails are caught, not sent.
  • Funded through ads, so could change or go away someday.
  • No rate limits now but throughput may be slow at times.

Bonus

I found this nice little tool to help you writing simple clean html email template called Issue Mailer.

issue-mailer