# Email Configuration
# This file contains email service configuration for different providers and environments

[email]
# Enable/disable email functionality
enabled = true

# Email provider: "smtp", "sendgrid", or "console"
# - smtp: Use SMTP server (Gmail, Outlook, etc.)
# - sendgrid: Use SendGrid API
# - console: Print emails to console (development only)
provider = "console"

# Default sender information
from_email = "noreply@yourapp.com"
from_name = "Your App Name"

# Template directory for email templates
template_dir = "templates/email"

# SMTP Configuration (when provider = "smtp")
smtp_host = "smtp.gmail.com"
smtp_port = 587
smtp_username = "your-email@gmail.com"
smtp_password = "your-app-password"
smtp_use_tls = false
smtp_use_starttls = true

# SendGrid Configuration (when provider = "sendgrid")
sendgrid_api_key = ""
sendgrid_endpoint = "https://api.sendgrid.com/v3/mail/send"

# Environment-specific overrides
[environments.development]
email.enabled = true
email.provider = "console"

[environments.staging]
email.enabled = true
email.provider = "smtp"
email.smtp_host = "smtp.mailtrap.io"
email.smtp_port = 2525
email.smtp_username = "your-mailtrap-username"
email.smtp_password = "your-mailtrap-password"

[environments.production]
email.enabled = true
email.provider = "sendgrid"
email.sendgrid_api_key = "${SENDGRID_API_KEY}"
email.from_email = "noreply@yourdomain.com"
email.from_name = "Your Production App"

# Email provider examples and setup instructions

# === SMTP Providers ===

# Gmail SMTP (App Passwords required)
# smtp_host = "smtp.gmail.com"
# smtp_port = 587
# smtp_username = "your-email@gmail.com"
# smtp_password = "your-16-char-app-password"
# smtp_use_starttls = true

# Outlook/Hotmail SMTP
# smtp_host = "smtp-mail.outlook.com"
# smtp_port = 587
# smtp_username = "your-email@outlook.com"
# smtp_password = "your-password"
# smtp_use_starttls = true

# Custom SMTP Server
# smtp_host = "mail.yourdomain.com"
# smtp_port = 587
# smtp_username = "noreply@yourdomain.com"
# smtp_password = "your-password"
# smtp_use_starttls = true

# === SendGrid Setup ===
# 1. Sign up at https://sendgrid.com
# 2. Create an API key in Settings > API Keys
# 3. Set the API key in sendgrid_api_key or SENDGRID_API_KEY environment variable
# 4. Verify your sender identity in Marketing > Sender Authentication

# === Development Testing ===
# For development, you can use:
# - Console provider (prints emails to terminal)
# - Mailtrap (https://mailtrap.io) for SMTP testing
# - MailHog (local SMTP testing server)

# === Environment Variables ===
# You can use environment variables in this config:
# ${VARIABLE_NAME} will be replaced with the environment variable value
#
# Common environment variables:
# - SMTP_HOST
# - SMTP_PORT
# - SMTP_USERNAME
# - SMTP_PASSWORD
# - SENDGRID_API_KEY
# - EMAIL_FROM_ADDRESS
# - EMAIL_FROM_NAME

# === Security Notes ===
# - Never commit real passwords or API keys to version control
# - Use environment variables for sensitive data in production
# - Enable 2FA and use app passwords for Gmail
# - Regularly rotate API keys and passwords
# - Monitor email sending quotas and limits
