130 lines
2.9 KiB
TOML
Raw Permalink Normal View History

2025-07-07 23:13:01 +01:00
# Email Feature Configuration
# Settings for the email sending system with multiple providers
[features]
email = true
# Email Configuration
[email]
enabled = true
from_email = "noreply@yourapp.com"
from_name = "Rustelo App"
reply_to = ""
default_provider = "console" # "smtp", "sendgrid", "console"
# SMTP Configuration
[email.smtp]
host = "smtp.gmail.com"
port = 587
username = "your-email@gmail.com"
password = "your-app-password"
use_tls = true
use_starttls = true
timeout = 30
pool_size = 5
# SendGrid Configuration
[email.sendgrid]
api_key = "your-sendgrid-api-key"
endpoint = "https://api.sendgrid.com/v3/mail/send"
timeout = 30
# Console Provider (Development)
[email.console]
enabled = true
log_level = "info"
save_to_file = true
output_dir = "logs/emails"
# Email Templates
[email.templates]
template_dir = "templates/email"
default_language = "en"
supported_languages = ["en", "es", "fr", "de"]
cache_templates = true
reload_on_change = false # Set to true in development
# Template Configuration
[email.templates.welcome]
subject = "Welcome to {{app_name}}"
template = "welcome.hbs"
text_template = "welcome.txt"
[email.templates.password_reset]
subject = "Password Reset Request"
template = "password_reset.hbs"
text_template = "password_reset.txt"
expiration = 3600 # 1 hour
[email.templates.email_verification]
subject = "Verify Your Email Address"
template = "email_verification.hbs"
text_template = "email_verification.txt"
expiration = 86400 # 24 hours
[email.templates.two_factor]
subject = "Two-Factor Authentication Code"
template = "two_factor.hbs"
text_template = "two_factor.txt"
expiration = 300 # 5 minutes
# Email Queue Configuration
[email.queue]
enabled = true
max_retry_attempts = 3
retry_delay = 60 # seconds
batch_size = 10
processing_interval = 30 # seconds
# Rate Limiting
[email.rate_limiting]
max_emails_per_minute = 60
max_emails_per_hour = 1000
max_emails_per_day = 10000
burst_limit = 10
# Email Validation
[email.validation]
check_mx_records = true
check_disposable_domains = true
allowed_domains = [] # Empty means all domains allowed
blocked_domains = ["tempmail.org", "10minutemail.com"]
# Bounce Handling
[email.bounce_handling]
enabled = true
webhook_url = "/webhooks/email/bounce"
webhook_secret = "your-webhook-secret"
max_bounce_rate = 0.05 # 5%
auto_suppress_bounces = true
# Email Analytics
[email.analytics]
track_opens = false
track_clicks = false
track_deliveries = true
track_bounces = true
track_complaints = true
# Security Settings
[email.security]
enable_dkim = false
dkim_selector = "default"
dkim_private_key_path = "certs/dkim_private.key"
enable_spf = true
enable_dmarc = false
# Internationalization
[email.i18n]
auto_detect_language = true
fallback_language = "en"
timezone = "UTC"
date_format = "%Y-%m-%d %H:%M:%S"
# Development Settings
[email.development]
intercept_emails = false
intercept_to = "developer@localhost"
log_all_emails = true
fake_send = false