Usesend
什么是 Usesend
Usesend 是 Resend、Sendgrid、Mailgun 和 Postmark 等的开源替代品。之前被称为 unsend。
需要进行一些设置,请参阅官方文档以获取更多信息。
截图
SMTP 配置
运行支持 SMTP 的 Usesend 需要额外的中继组件来处理传入的 SMTP 请求。此中继服务绑定到多个端口,支持 SSL 和 TLS 连接。
前提条件
在配置 SMTP 中继之前,您需要向 Traefik 代理配置中添加证书转储器,以使 Coolify 的 SSL 证书可被中继访问:
- 导航到 服务器 → 代理 → 配置
- 添加以下证书转储器配置:
traefik-certs-dumper:
image: ghcr.io/kereis/traefik-certs-dumper:latest
container_name: traefik-certs-dumper
restart: unless-stopped
depends_on:
- traefik
volumes:
- /etc/localtime:/etc/localtime:ro
- /data/coolify/proxy:/traefik:ro
- /data/coolify/certs:/output此服务提取 Traefik 管理的证书并将其输出到 /data/coolify/certs/,使其可用于 SMTP 中继进行 SSL 和 TLS 连接。
添加 SMTP 中继服务
在 compose 文件的末尾添加以下服务(在添加服务时点击“编辑 compose 文件”):
将 ###USESEND FQDN (例如 usesend.example.com)### 替换为配置中的 unsend 域名。
smtp-server:
container_name: usesend-smtp-server
image: 'usesend/smtp-proxy:latest'
volumes:
- type: bind
source: /data/coolify/certs/###USESEND FQDN (例如 usesend.example.com)###/key.pem
target: /data/certs/key.pem
read_only: true
- type: bind
source: /data/coolify/certs/###USESEND FQDN (例如 usesend.example.com)###/cert.pem
target: /data/certs/cert.pem
read_only: true
environment:
- SMTP_AUTH_USERNAME=usesend
- SERVICE_FQDN_SMTP
- 'USESEND_BASE_URL=${SERVICE_URL_USESEND_3000}'
- USESEND_API_KEY_PATH=/data/certs/key.pem
- USESEND_API_CERT_PATH=/data/certs/cert.pem
ports:
- '25:25'
- '587:587'
- '2587:2587'
- '465:465'
- '2465:2465'
healthcheck:
test:
- CMD
- nc
- -z
- localhost
- "25"
interval: 30s
timeout: 10s
retries: 3
start_period: 10s然后将这些环境变量添加到主 Usesend 服务中:
- SMTP_HOST=${SERVICE_FQDN_SMTP}
- SMTP_USER=${SMTP_AUTH_USERNAME}在您的应用程序中使用 Usesend SMTP
一旦中继部署完成,使用以下设置配置您的发送应用程序:
- SMTP 主机: 您的 Usesend URL
- SMTP 端口: 465 (SSL) 或 587 (TLS/STARTTLS)
- 用户名:
usesend - 密码: 您的 Usesend API 密钥(从 Usesend 仪表板生成)
中继支持多个端口以兼容不同的应用程序:
- 标准 SMTP: 端口 25, 587, 2587
- SSL/TLS: 端口 465, 2465
您可以通过 Usesend 的交付报告和仪表板中的消息预览来验证电子邮件是否成功发送。
