Email Setup
Configure email so users get notifications about their feature requests. Keep your users engaged and informed about status changes.
Why Set Up Email
Email notifications tell users when:
- Their feature status changes (Planned, In Progress, Completed)
- Someone comments on their feature
- Their feature reaches vote milestones
- Weekly digest of popular features (optional)
Accessing Email Settings
- Go to Admin > Settings
- Click the Email tab
Basic Configuration
Fill in these fields:
| Field | What to Enter |
|---|---|
| Mail Driver | SMTP (most common) |
| SMTP Host | Your email server (e.g., smtp.gmail.com) |
| SMTP Port | Usually 587 for TLS or 465 for SSL |
| Username | Your email address or username |
| Password | Your email password or app password |
| Encryption | TLS (recommended) or SSL |
| From Address | The email address notifications come from |
| From Name | The name shown (e.g., "Votlie Notifications") |
Gmail Setup
Gmail requires an "App Password" for security.
Step 1: Enable 2-Factor Authentication
- Go to your Google Account settings
- Click Security
- Enable 2-Step Verification
Step 2: Create App Password
- Go to Google Account > Security
- Find App Passwords (under 2-Step Verification)
- Click Generate
- Select Mail and Other
- Enter a name like "Votlie"
- Copy the 16-character password
Step 3: Configure in Votlie
| Field | Value |
|---|---|
| SMTP Host | smtp.gmail.com |
| SMTP Port | 587 |
| Username | [email protected] |
| Password | The 16-character app password |
| Encryption | TLS |
| From Address | [email protected] |
Other Providers
SendGrid
| Field | Value |
|---|---|
| SMTP Host | smtp.sendgrid.net |
| SMTP Port | 587 |
| Username | apikey |
| Password | Your SendGrid API key |
| Encryption | TLS |
Mailgun
| Field | Value |
|---|---|
| SMTP Host | smtp.mailgun.org |
| SMTP Port | 587 |
| Username | Your Mailgun SMTP username |
| Password | Your Mailgun SMTP password |
| Encryption | TLS |
Amazon SES
| Field | Value |
|---|---|
| SMTP Host | email-smtp.us-east-1.amazonaws.com (your region) |
| SMTP Port | 587 |
| Username | Your SES SMTP username |
| Password | Your SES SMTP password |
| Encryption | TLS |
Postmark
| Field | Value |
|---|---|
| SMTP Host | smtp.postmarkapp.com |
| SMTP Port | 587 |
| Username | Your Postmark Server API token |
| Password | Your Postmark Server API token (use the same token as the password) |
| Encryption | TLS |
Log Driver
For testing and development, you can set the Mail Driver to Log instead of SMTP.
When the Log driver is active:
- Emails are not actually sent to any recipient
- Instead, the full email content (headers, body, recipients) is written to
storage/logs/laravel.log - This is useful for verifying that email triggers are firing correctly without needing a real mail server
How to Enable
- Go to Admin > Settings > Email
- Set Mail Driver to Log
- Click Save
Check storage/logs/laravel.log to see the email output. Switch back to SMTP when you are ready to send real emails.
Testing
After entering your settings:
- Click Save
- Click Send Test Email
- Enter an email address
- Click Send
- Check your inbox (and spam folder)
If the test email arrives, your setup is working.
Email Templates
Customize what emails look like:
- Go to Admin > Settings > Email tab
- Scroll to Email Templates
- Click on a template to edit it
Available Templates
- New Feature - Sent to admins when someone submits a feature
- Status Change - Sent to users when their feature status changes
- New Comment - Sent when someone comments on a followed feature
Editing a Template
- Click the template
- Edit the Subject line
- Edit the Body content
- Use merge fields like
{feature_title}and{user_name} - Click Preview to see how it looks
- Click Save
Merge Fields
These get replaced with real data:
| Field | Shows |
|---|---|
{user_name} | User's name |
{feature_title} | Feature title |
{feature_url} | Link to the feature |
{status} | New status (Planned, etc.) |
{app_name} | Your board name |
Troubleshooting
| Problem | Solution |
|---|---|
| Test email not received | Check spam folder first |
| "Connection refused" | Wrong SMTP host or port |
| "Authentication failed" | Wrong username or password |
| "Connection timed out" | Port may be blocked by hosting |
| Gmail "Less secure app" error | Use App Password instead |
| Emails going to spam | Set up SPF/DKIM records for your domain |
Check Your Settings
- Port 587 usually needs TLS encryption
- Port 465 usually needs SSL encryption
- Don't mix them up
Still Not Working?
- Try the "log" driver to test if the app is trying to send
- Check
storage/logs/laravel.logfor error messages - Ask your hosting provider if SMTP ports are open
Notification Settings
Control which notifications are enabled:
- Go to Admin > Settings > General
- Find the notification toggles:
- New submission alerts (to admins)
- Status change notifications
- Comment notifications
- Weekly digest
- Turn on/off as needed
- Click Save
Tips
- Test after setup - Always send a test email
- Use a dedicated email - Like
[email protected] - Check spam settings - Add your domain to SPF records
- Monitor delivery - If using SendGrid/Mailgun, check their dashboards
Next Steps
- OAuth Setup - Let users sign in with Google/GitHub
- First-Time Setup - Other configuration steps