Mail is required for password reset, contact form, new user notifications, and any queued mail jobs.
During the installer
Environment step includes:
- Driver:
smtp,mailgun,ses, or PHPmail - For SMTP: host, port, username, password, encryption (typically
tlson 587 orsslon 465) - From address and from name
After install (.env)
MAIL_MAILER=smtp
MAIL_HOST=smtp.example.com
MAIL_PORT=587
MAIL_USERNAME=apikey-or-user
MAIL_PASSWORD=secret
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS="hello@example.com"
MAIL_FROM_NAME="${APP_NAME}"
Then:
php artisan config:clear
php artisan config:cache
Templates in the database
Listeners load HTML from email_templates by slug, for example:
| Slug | When |
|---|---|
user_created |
A user is created |
custom_mail |
Generic / forgot-password style sends |
There is an EmailTemplatesController and Vue screens under admin email templates. If the item is not in the sidebar in your build, edit templates in the database or add the route to the menu. Placeholder variables in HTML look like {name} and {email}.
Queues
Default QUEUE_CONNECTION=database. If workers are not running, mail may wait in the jobs table. See Queues & cron.
Test
Use Forgot password on /admin/password-reset with a real mailbox, or send from Contact. Check storage/logs/laravel.log for SMTP errors (auth, TLS, blocked port 25).
← All ProfileSuite – Digital Business Card, Bio Link & Lead Capture Platform documentation