Skip to content

Configure outgoing messages

Firefly III can send you an email for specific notable events. These includes bugs and crashes (always useful for me) but also security notifications and password resets. The configuration values for email are in the .env-file:


The first thing you'll want to update is the MAIL_MAILER. The mail mailer indicates the system that is used for mailing. Firefly III supports the following mail systems: smtp, sendmail, mailgun, mandrill, sparkpost and log.

The Firefly III administration pages (located at /admin) contain a test button that will send a test message.

Make sure that you always change the MAIL_FROM address. If this is wrong, mail might never work!

If you use Docker, you can always set these values using environment variables.


The default value will store messages in your log files instead of sending them. APP_LOG_LEVEL must be set to debug for the messages to appear.


SMTP is the de-facto standard for sending email. If you want to use GMail or Outlook as mail system, set the mailer to smtp. Make sure you change the host, port and credentials and of course, MAIL_ENCRYPTION must be null, ssl or tls, depending on your provider.


Uses the built-in sendmail configuration. If you choose this, you can leave the other values alone.


Mailgun is an API that can send emails. Their service allows for 10,000 free messages each month.

To configure these, fill in the MAILGUN_DOMAIN, MAILGUN_SECRET, and MAILGUN_ENDPOINT values in your .env file. The MAILGUN_DOMAIN is the domain you've verified with Mailgun, the MAILGUN_SECRET is your Mailgun API key, and the MAILGUN_ENDPOINT is the Mailgun API endpoint,, if you are sending email from Mailgun's U.S. infrastructure, or, from their EU infrastructure. Make sure MAIL_FROM is set to an email address that is from your Mailgun's verfied domain.


Mandrill is a paid service by MailChimp. Find the MANDRILL_SECRET and fill it in. That should be enough to enable email over Mandrill. Note that I haven't actually tested this.


Sparkpost is another paid service. Find the SPARKPOST_SECRET to configure sending email over Sparkpost. Note that I haven't actually tested this.

Last update: 2023-01-29