Applied formatting to 1487+ files using pnpm format:write - TypeScript/JavaScript files - Svelte components - Astro pages - JSON configs - Markdown docs 13 files still need manual review (Astro JSX comments)
3.1 KiB
Email Configuration Guide for ulo.ad
The team invitation system is fully implemented and ready to send emails. To enable actual email sending, choose one of the following options:
Option 1: PocketBase SMTP (Recommended) ⭐
-
Access PocketBase Admin Panel
- Go to: https://pb.ulo.ad/_/
- Login with your admin credentials
-
Navigate to Mail Settings
- Go to Settings → Mail settings
- Or direct link: https://pb.ulo.ad/_/#/settings/mail
-
Configure SMTP
- Enable "Use SMTP mail server"
- Enter your SMTP details:
For Gmail:
- SMTP Host:
smtp.gmail.com - Port:
587 - Username: Your Gmail address
- Password: Generate an App Password
- Use TLS: ✅
For Outlook/Hotmail:
- SMTP Host:
smtp-mail.outlook.com - Port:
587 - Username: Your Outlook email
- Password: Your password
- Use TLS: ✅
For Custom Domain (e.g., Zoho, FastMail):
- Check your email provider's SMTP settings
-
Save Settings
- Click "Save changes"
- Test by inviting a team member
Option 2: Brevo (Free - 300 emails/day)
-
Sign up at Brevo
-
Get your API key
- Go to: https://app.brevo.com/settings/keys/api
- Copy the API key
-
Add to
.envBREVO_API_KEY=your-api-key-here -
Update
/src/lib/services/email-sender.ts- Uncomment the Brevo code section (lines 35-50)
- Comment out the console.log section
Option 3: Resend (Free - 100 emails/day)
-
Sign up at Resend
-
Verify your domain
-
Get your API key
-
Add to
.envRESEND_API_KEY=your-api-key-here -
Update
/src/lib/services/email-sender.ts- Uncomment the Resend code section (lines 52-66)
- Comment out the console.log section
Testing Email Setup
-
Restart the dev server (if you added environment variables)
npm run dev -
Test invitation flow:
- Go to Settings → Team Management
- Invite a team member by email
- Check the console/logs to see if email was sent
- Check recipient's inbox
Current Status
✅ Email templates are ready ✅ Invitation flow is complete ✅ Email logging is active (you'll see emails in console) ⏳ SMTP configuration needed (choose one option above)
Email Templates Included
- Team invitation for existing users - Sent when inviting registered users
- Team invitation for new users - Sent when inviting non-registered emails
- Invitation accepted notification - Sent to owner when invitation is accepted
All templates are bilingual (German/English) and mobile-responsive.
Troubleshooting
- Emails not sending? Check PocketBase logs: Admin → Logs
- SMTP errors? Verify credentials and port settings
- Gmail blocking? Use App Password, not regular password
- Rate limits? Free tiers have daily limits
For production, we recommend using PocketBase SMTP with a professional email service like SendGrid, Mailgun, or Amazon SES.