Move 39 documentation files from top-level docs/ into each module's docs/ folder, accessible via symlinks from docs/modules/. Create data-model.md files for 10 modules with full schema documentation. Replace originals with redirect stubs. Remove empty guide stubs. Modules migrated: tenancy, billing, loyalty, marketplace, orders, messaging, cms, catalog, inventory, hosting, prospecting. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
255 lines
7.0 KiB
Markdown
255 lines
7.0 KiB
Markdown
# Email Settings Guide
|
|
|
|
This guide covers email configuration for both **stores** and **platform administrators**. The Orion platform uses a layered email system where stores manage their own email sending while the platform handles system-level communications.
|
|
|
|
## Overview
|
|
|
|
The email system has two distinct configurations:
|
|
|
|
| Aspect | Platform (Admin) | Store |
|
|
|--------|-----------------|--------|
|
|
| Purpose | System emails (billing, admin notifications) | Customer-facing emails (orders, marketing) |
|
|
| Configuration | Environment variables (.env) + Database overrides | Database (per-store) |
|
|
| Cost | Platform owner pays | Store pays |
|
|
| Providers | SMTP, SendGrid, Mailgun, SES | SMTP (all tiers), Premium providers (Business+) |
|
|
|
|
---
|
|
|
|
## Store Email Settings
|
|
|
|
### Getting Started
|
|
|
|
As a store, you need to configure email settings to send emails to your customers. This includes order confirmations, shipping updates, and marketing emails.
|
|
|
|
#### Accessing Email Settings
|
|
|
|
1. Log in to your Store Dashboard
|
|
2. Navigate to **Settings** from the sidebar
|
|
3. Click on the **Email** tab
|
|
|
|
### Available Providers
|
|
|
|
| Provider | Tier Required | Best For |
|
|
|----------|---------------|----------|
|
|
| SMTP | All tiers | Standard email servers, most common |
|
|
| SendGrid | Business+ | High-volume transactional emails |
|
|
| Mailgun | Business+ | Developer-friendly API |
|
|
| Amazon SES | Business+ | AWS ecosystem, cost-effective |
|
|
|
|
### Configuring SMTP
|
|
|
|
SMTP is available for all subscription tiers. Common SMTP providers include:
|
|
- Gmail (smtp.gmail.com:587)
|
|
- Microsoft 365 (smtp.office365.com:587)
|
|
- Your hosting provider's SMTP server
|
|
|
|
**Required Fields:**
|
|
- **From Email**: The sender email address (e.g., orders@yourstore.com)
|
|
- **From Name**: The sender display name (e.g., "Your Store")
|
|
- **SMTP Host**: Your SMTP server address
|
|
- **SMTP Port**: Usually 587 (TLS) or 465 (SSL)
|
|
- **SMTP Username**: Your login username
|
|
- **SMTP Password**: Your login password
|
|
- **Use TLS**: Enable for port 587 (recommended)
|
|
- **Use SSL**: Enable for port 465
|
|
|
|
### Configuring Premium Providers (Business+)
|
|
|
|
If you have a Business or Enterprise subscription, you can use premium email providers:
|
|
|
|
#### SendGrid
|
|
1. Create a SendGrid account at [sendgrid.com](https://sendgrid.com)
|
|
2. Generate an API key
|
|
3. Enter the API key in your store settings
|
|
|
|
#### Mailgun
|
|
1. Create a Mailgun account at [mailgun.com](https://mailgun.com)
|
|
2. Add and verify your domain
|
|
3. Get your API key from the dashboard
|
|
4. Enter the API key and domain in your settings
|
|
|
|
#### Amazon SES
|
|
1. Set up SES in your AWS account
|
|
2. Verify your sender domain/email
|
|
3. Create IAM credentials with SES permissions
|
|
4. Enter the access key, secret key, and region
|
|
|
|
### Verifying Your Configuration
|
|
|
|
After configuring your email settings:
|
|
|
|
1. Click **Save Settings**
|
|
2. Enter a test email address in the **Test Email** field
|
|
3. Click **Send Test**
|
|
4. Check your inbox for the test email
|
|
|
|
If the test fails, check:
|
|
- Your credentials are correct
|
|
- Your IP/domain is not blocked
|
|
- For Gmail: Allow "less secure apps" or use an app password
|
|
|
|
### Email Warning Banner
|
|
|
|
Until you configure and verify your email settings, you'll see a warning banner at the top of your dashboard. This ensures you don't forget to set up email before your store goes live.
|
|
|
|
---
|
|
|
|
## Platform Admin Email Settings
|
|
|
|
### Overview
|
|
|
|
Platform administrators can configure system-wide email settings for platform communications like:
|
|
- Subscription billing notifications
|
|
- Admin alerts
|
|
- Platform-wide announcements
|
|
|
|
### Configuration Sources
|
|
|
|
Admin email settings support two configuration sources:
|
|
|
|
1. **Environment Variables (.env)** - Default configuration
|
|
2. **Database Overrides** - Override .env via the admin UI
|
|
|
|
Database settings take priority over .env values.
|
|
|
|
### Accessing Admin Email Settings
|
|
|
|
1. Log in to the Admin Panel
|
|
2. Navigate to **Settings**
|
|
3. Click on the **Email** tab
|
|
|
|
### Viewing Current Configuration
|
|
|
|
The Email tab shows:
|
|
- **Provider**: Current email provider (SMTP, SendGrid, etc.)
|
|
- **From Email**: Sender email address
|
|
- **From Name**: Sender display name
|
|
- **Status**: Whether email is configured and enabled
|
|
- **DB Overrides**: Whether database overrides are active
|
|
|
|
### Editing Settings
|
|
|
|
Click **Edit Settings** to modify the email configuration:
|
|
|
|
1. Select the email provider
|
|
2. Enter the required credentials
|
|
3. Configure enabled/debug flags
|
|
4. Click **Save Email Settings**
|
|
|
|
### Resetting to .env Defaults
|
|
|
|
If you've made database overrides and want to revert to .env configuration:
|
|
|
|
1. Click **Reset to .env Defaults**
|
|
2. Confirm the action
|
|
|
|
This removes all email settings from the database, reverting to .env values.
|
|
|
|
### Testing Configuration
|
|
|
|
1. Enter a test email address
|
|
2. Click **Send Test**
|
|
3. Check your inbox
|
|
|
|
---
|
|
|
|
## Environment Variables Reference
|
|
|
|
For platform configuration via .env:
|
|
|
|
```env
|
|
# Provider: smtp, sendgrid, mailgun, ses
|
|
EMAIL_PROVIDER=smtp
|
|
|
|
# Sender identity
|
|
EMAIL_FROM_ADDRESS=noreply@yourplatform.com
|
|
EMAIL_FROM_NAME=Your Platform
|
|
EMAIL_REPLY_TO=support@yourplatform.com
|
|
|
|
# Behavior
|
|
EMAIL_ENABLED=true
|
|
EMAIL_DEBUG=false
|
|
|
|
# SMTP Configuration
|
|
SMTP_HOST=smtp.example.com
|
|
SMTP_PORT=587
|
|
SMTP_USER=your-username
|
|
SMTP_PASSWORD=your-password
|
|
SMTP_USE_TLS=true
|
|
SMTP_USE_SSL=false
|
|
|
|
# SendGrid
|
|
SENDGRID_API_KEY=your-api-key
|
|
|
|
# Mailgun
|
|
MAILGUN_API_KEY=your-api-key
|
|
MAILGUN_DOMAIN=mg.yourdomain.com
|
|
|
|
# Amazon SES
|
|
AWS_ACCESS_KEY_ID=your-access-key
|
|
AWS_SECRET_ACCESS_KEY=your-secret-key
|
|
AWS_REGION=eu-west-1
|
|
```
|
|
|
|
---
|
|
|
|
## Tier-Based Branding
|
|
|
|
The email system includes tier-based branding for store emails:
|
|
|
|
| Tier | Branding |
|
|
|------|----------|
|
|
| Essential | "Powered by Orion" footer |
|
|
| Professional | "Powered by Orion" footer |
|
|
| Business | No branding (white-label) |
|
|
| Enterprise | No branding (white-label) |
|
|
|
|
Business and Enterprise tier stores get completely white-labeled emails with no Orion branding.
|
|
|
|
---
|
|
|
|
## Troubleshooting
|
|
|
|
### Common Issues
|
|
|
|
**"Email sending is disabled"**
|
|
- Check that `EMAIL_ENABLED=true` in .env
|
|
- Or enable it in the admin settings
|
|
|
|
**"Connection refused" on SMTP**
|
|
- Verify SMTP host and port
|
|
- Check firewall rules
|
|
- Ensure TLS/SSL settings match your server
|
|
|
|
**"Authentication failed"**
|
|
- Double-check username/password
|
|
- For Gmail, use an App Password
|
|
- For Microsoft 365, check MFA requirements
|
|
|
|
**"SendGrid error: 403"**
|
|
- Verify your API key has Mail Send permissions
|
|
- Check sender identity is verified
|
|
|
|
**Premium provider not available**
|
|
- Upgrade to Business or Enterprise tier
|
|
- Contact support if you have the right tier but can't access
|
|
|
|
### Debug Mode
|
|
|
|
Enable debug mode to log emails instead of sending them:
|
|
- Set `EMAIL_DEBUG=true` in .env
|
|
- Or enable "Debug mode" in admin settings
|
|
|
|
Debug mode logs the email content to the server logs without actually sending.
|
|
|
|
---
|
|
|
|
## Security Best Practices
|
|
|
|
1. **Never share API keys or passwords** in logs or frontend
|
|
2. **Use environment variables** for sensitive credentials
|
|
3. **Enable TLS** for SMTP connections
|
|
4. **Verify sender domains** with your email provider
|
|
5. **Monitor email logs** for delivery issues
|
|
6. **Rotate credentials** periodically
|