Update main.yml

This commit is contained in:
JACKYMYPERSON
2025-09-16 00:25:25 +08:00
committed by GitHub
parent 6860e26759
commit f1377e5d41

View File

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