# Email Configuration ## Overview SilverLinux uses a centralized SMTP configuration for application email delivery. Email is used for: * Password resets * User invitations * Notifications * System alerts * Backup reports * Future CI/CD notifications --- ## Sender Address ```text noreply@silveressence.net ``` Purpose: * Automated emails * Application notifications * No inbound processing required --- ## SMTP Provider Provider: ```text Gmail SMTP ``` Server: ```text smtp.gmail.com ``` Port: ```text 587 ``` Security: ```text STARTTLS ``` Authentication: ```text Login ``` --- ## Secret Storage SMTP credentials are stored in: ```text Infisical ``` Variables: ```text SMTP_HOST SMTP_PORT SMTP_USERNAME SMTP_PASSWORD ``` These values must never be committed to Git repositories. --- ## Applications Using Email ### OpenProject Purpose: * Password reset emails * Work package notifications * Mention notifications * User invitations Sender: ```text noreply@silveressence.net ``` Status: Configured --- ### Gitea Purpose: * Password reset emails * Repository notifications * User invitations Sender: ```text noreply@silveressence.net ``` Status: Configured --- ### Backup System Purpose: * Backup success emails * HTML backup report emails * Operational backup notifications Delivery: * Postfix relay through Gmail SMTP * Gmail App Password authentication * TLS encryption Status: Configured and validated --- ### Nextcloud Purpose: * User notifications * File sharing notifications * Password and account emails where enabled Sender: ```text noreply@silveressence.net ``` Observed runtime settings: ```text smtp.gmail.com port 465 ssl ``` Status: Configured --- ### Alertmanager Purpose: * Monitoring alert emails * Incident grouped notifications * Severity-based alert routing Recipients: * `oclick021@gmail.com` * `martin@silversolutions.nl` Status: Configured and validated --- ## Future Applications Future services should use the centralized SMTP configuration whenever possible. Examples: * BaGet * CI/CD notifications * Alerting systems --- ## Testing ### OpenProject Test by: 1. Creating a user. 2. Triggering a password reset. 3. Verifying email delivery. ### Gitea Test by: 1. Opening "Forgot Password". 2. Requesting a password reset. 3. Verifying email delivery. --- ## Troubleshooting ### OpenProject View logs: ```bash docker logs openproject ``` ### Gitea View logs: ```bash docker logs gitea ``` ### Gmail Authentication Verify: * App password is valid * SMTP credentials match the Infisical values injected by `slcompose` * STARTTLS is enabled * Port 587 is used ### Backup Reports Verify: * Postfix relay is active * Gmail App Password authentication succeeds * TLS delivery succeeds * Backup wrapper sends the HTML report after backup completion --- ## Security Notes * Use Gmail App Passwords. * Never use personal Gmail passwords. * Store SMTP credentials only in Infisical. * Rotate credentials if they become exposed. --- ## Related Documentation * docs/secrets.md * docs/security.md * docs/backups.md * docs/monitoring.md * openproject/README.md * gitea/README.md