Skip to content


Laravel provides robust email sending capabilities out of the box with the Mail library. Some key features include:

  • Templates - The templating system allows creating HTML, markdown, and plain text email templates that emails can be composed from.
  • Queues - Email sending can be queued to improve application performance, with retries and rate limiting options.
  • Mailable Classes - Custom mailable classes allow encapsulating email logic into reusable and testable classes.
  • Attachments - Ability to add attachments to email messages from file paths or in-memory data.
  • Testing helpers - Mail fake and mail preview make it easy to test and preview the formatted emails during development.

Configuring Larvel

Sending Laravel emails via the SMTP transport is straightforward. Once you've created a mail credential, configure your environment file as follows

.env file
MAIL_USERNAME="[mail credential user]"
MAIL_PASSWORD="[mail credential password]"
MAIL_FROM_ADDRESS="[[email protected]]"

Further reading