diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 343569e..8cc88d4 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -87,6 +87,30 @@ jobs: docker compose logs backend --tail 50 exit 1 + # ⭐ 新增:安全调试邮件连接(不暴露密码明文) + - name: 调试邮件连接 + env: + MAIL_USERNAME: ${{ secrets.MAIL_USERNAME }} + MAIL_PASSWORD: ${{ secrets.MAIL_PASSWORD }} + run: | + echo "🔍 测试 SMTP 连接..." + # 尝试连接,并只捕获连接状态,不打印密码 + curl -v smtps://smtp.qq.com:465 \ + --ssl-reqd \ + --user "$MAIL_USERNAME:$MAIL_PASSWORD" \ + --mail-from "$MAIL_USERNAME" \ + --mail-rcpt "$MAIL_USERNAME" \ + --upload-file /dev/null 2>&1 | tee /tmp/smtp_debug.log + # 检查日志中是否包含认证成功标志 + if grep -q "235 Authentication successful" /tmp/smtp_debug.log; then + echo "✅ SMTP 认证成功" + elif grep -q "Login denied" /tmp/smtp_debug.log; then + echo "❌ 认证失败:Login denied" + else + echo "⚠️ 未完成认证,检查网络/端口" + fi + continue-on-error: true + - name: 清理无用的 Docker 资源 run: docker system prune -f @@ -103,6 +127,7 @@ jobs: - name: 发送成功通知邮件 if: success() + continue-on-error: true # 邮件失败不影响部署结果 env: MAIL_USERNAME: ${{ secrets.MAIL_USERNAME }} MAIL_PASSWORD: ${{ secrets.MAIL_PASSWORD }} @@ -127,6 +152,7 @@ jobs: - name: 发送失败通知邮件 if: failure() + continue-on-error: true # 邮件失败不影响部署结果 env: MAIL_USERNAME: ${{ secrets.MAIL_USERNAME }} MAIL_PASSWORD: ${{ secrets.MAIL_PASSWORD }}