Enable password resets, invitation emails, shift reminders, and notifications.
FD Commander works fine without email. By default, all email features are hidden from the UI so nobody sees broken "forgot password" links or grayed-out notification checkboxes. The admin creates accounts and sets passwords manually, and operators manage their own shifts through the web interface.
If your club wants password resets, invitation emails, shift reminders, or security alerts, you just need to point FD Commander at an SMTP server. Once configured, the hidden features appear automatically.
When email is not configured, five pieces of the UI are hidden. Once you add SMTP credentials, they all appear:
If email is never configured, none of these elements appear in the UI. Operators never see features they can't use.
FD Commander checks the MAIL_MAILER value in your .env file. If it's set to log or array (the defaults when email isn't configured), all email features are disabled. Any real transport like smtp, ses, or mailgun enables them.
SSH into the server and edit the .env file in the FD Commander directory:
Find the mail section and update it with your SMTP credentials:
After saving the file, clear the config cache so the changes take effect:
That's it. The email features will appear in the UI on the next page load.
Any SMTP-capable service works. Here are settings for a few common options:
You'll need to generate an App Password in your Google account settings. Regular passwords won't work if 2FA is enabled (and it should be).
If you're already running on AWS, SES is the simplest option. Set your AWS credentials in the .env file and change MAIL_MAILER to ses instead of smtp.
All of these offer free tiers that cover more email than a Field Day event will ever need. Use their SMTP relay credentials with the standard smtp mailer.
For a club running one event a year, Gmail with an App Password is the easiest setup. You don't need a dedicated email service unless you're sending hundreds of messages.
The quickest way to confirm email is working is to test a password reset. Log out, click the "Forgot password?" link on the login page (it should now be visible), enter an email address, and check for the reset email. If it arrives, everything is wired up.
If the email doesn't arrive, check the application log for errors:
Common problems: wrong SMTP port (try 465 with MAIL_ENCRYPTION=ssl if 587 doesn't work), incorrect App Password, or the "from" address not being verified with your email provider.
Even if a notification preference is somehow set in the database while email is unconfigured, FD Commander won't try to send it. The ReminderService checks whether email is configured before every send and short-circuits if it's not. This prevents queued jobs from failing silently or throwing errors.
If you want to turn email features back off, set MAIL_MAILER=log in your .env file and clear the config cache. The UI elements will disappear and no emails will be sent.