fix(邮件发送): 适配 MailerSend SMTP 并迁移基础设施至 1Panel

Motivation:
将通知服务部署到 1Panel 生产环境,集成 MailerSend 邮件服务,修复 SMTP 协议中 MAIL FROM 命令因携带显示名而导致的发送失败问题。

Changes:

* 修复 SMTP MAIL FROM 命令传入带显示名的完整地址导致发送失败的问题,新增 extractEmailAddr 提取裸地址
* 更新 SMTP 配置为 MailerSend 真实凭证,From 地址适配其域名验证要求
* 移除 docker-compose 中内置的 MySQL/Redis 服务,改为依赖外部 1Panel 基础设施
* 更新环境变量为生产环境实际凭据
This commit is contained in:
2026-07-31 17:28:35 +08:00
parent 6e69f6cdc3
commit cecf8e72f5
3 changed files with 20 additions and 48 deletions
+2 -43
View File
@@ -1,58 +1,17 @@
version: '3.8'
services:
mysql:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: notification
MYSQL_USER: notify
MYSQL_PASSWORD: notify
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 5s
timeout: 3s
retries: 10
networks:
- 1panel-network
redis:
image: redis:7-alpine
ports:
- "6379:6379"
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 3s
retries: 5
networks:
- 1panel-network
api:
build: .
ports:
- "8080:8080"
environment:
- DB_PASSWORD=notify
- SMTP_PASSWORD=
- NOTIFY_DATABASE_HOST=mysql
- NOTIFY_REDIS_HOST=redis
depends_on:
mysql:
condition: service_healthy
redis:
condition: service_healthy
- SMTP_PASSWORD=mssp.92QdSYS.3z0vklo982xl7qrx.tSlSpXs
- DB_PASSWORD=7Qay8mksnwrCffGi
restart: unless-stopped
networks:
- 1panel-network
volumes:
mysql_data:
networks:
1panel-network:
external: true