diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9e941d3..bac3893 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -33,20 +33,18 @@ jobs: EMAIL_PASS: ${{ secrets.EMAIL_PASS }} TO_EMAIL: 1627832236@qq.com run: | - # 1. 修复URL格式(核心) smtp_url="smtps://${SMTP_SERVER}:${SMTP_PORT}" - smtp_url=$(echo "$smtp_url" | tr -d '[:space:]') # 强制移除所有空白字符 - echo "最终SMTP URL: [$smtp_url]" # 调试用,确认格式 + smtp_url=$(echo "$smtp_url" | tr -d '[:space:]') # 确保无空白字符 + echo "最终SMTP URL: [$smtp_url]" # 应显示 [smtps://smtp.qq.com:465] - # 2. 中文主题编码 + # 2. 中文主题编码(保持兼容) base64_subject=$(echo -n "推送仓库成功" | base64 | tr -d '\n') - # 3. 构建邮件内容 + # 3. 构建邮件内容(简化格式,与本地成功命令的结构匹配) email_content=$(cat <<-EOF - From: "${EMAIL_USER}" <${EMAIL_USER}> + From: ${EMAIL_USER} To: ${TO_EMAIL} Subject: =?UTF-8?B?${base64_subject}?= - Content-Type: text/plain; charset=UTF-8 通知:有新的内容已推送到仓库「toutoukan」的main分支! 推送时间: $(date +"%Y-%m-%d %H:%M:%S") @@ -55,14 +53,13 @@ jobs: EOF ) - # 4. 发送邮件(修复认证和URL) + # 4. 发送邮件(严格匹配本地成功的curl参数) curl -v \ - --connect-timeout 10 \ - --max-time 20 \ + --tlsv1.2 \ # 强制TLS 1.2,与本地测试一致 --mail-from "$EMAIL_USER" \ --mail-rcpt "$TO_EMAIL" \ --user "$EMAIL_USER:$EMAIL_PASS" \ - "$smtp_url" \ - -T <(echo -e "$email_content") + -T <(echo -e "$email_content") \ # 邮件内容位置与本地命令一致 + "$smtp_url" # URL参数放在最后,与本地命令格式一致