You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure Pipeline中配置阶段以实现部署成功后发送邮件通知?

部署成功邮件通知模板及故障排查方案

通用邮件通知模板示例

1. Shell脚本模板(服务器本地部署场景)

适用于Shell脚本完成部署后触发邮件通知,依赖sendmail或mutt工具:

#!/bin/bash

# 配置参数
ENV_NAME="生产环境"
DEPLOY_VERSION="v1.2.3"
DEPLOY_TIME=$(date +"%Y-%m-%d %H:%M:%S")
SMTP_SERVER="smtp.example.com"
SMTP_PORT="587"
SMTP_USER="notify@example.com"
SMTP_PASS="your_app_password"
TO_EMAIL="dev-team@example.com,ops-team@example.com"
SUBJECT="【部署成功通知】${ENV_NAME}环境已完成版本更新"

# 邮件内容
EMAIL_CONTENT="
环境名称: ${ENV_NAME}
部署版本: ${DEPLOY_VERSION}
完成时间: ${DEPLOY_TIME}
部署状态: 成功

请确认服务运行正常,如有问题及时排查。
"

# 用sendmail发送(需提前配置sendmail的SMTP参数)
echo "${EMAIL_CONTENT}" | sendmail -f "${SMTP_USER}" -t "${TO_EMAIL}" -s "${SUBJECT}"

# 或用mutt发送(需提前安装mutt)
# echo "${EMAIL_CONTENT}" | mutt -s "${SUBJECT}" -e "set from=${SMTP_USER}" -e "set smtp_url=smtp://${SMTP_USER}:${SMTP_PASS}@${SMTP_SERVER}:${SMTP_PORT}" ${TO_EMAIL}

2. GitHub Actions 邮件通知模板

适用于GitHub流水线部署完成后触发通知:

name: 部署并发送通知
on:
  push:
    branches: [ main ]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: 拉取代码
        uses: actions/checkout@v4

      - name: 执行部署脚本
        run: |
          # 替换为你的实际部署命令
          ./deploy-prod.sh

      - name: 发送部署成功邮件
        if: success()
        uses: dawidd6/action-send-mail@v3
        with:
          server_address: smtp.example.com
          server_port: 587
          username: ${{ secrets.SMTP_USER }}
          password: ${{ secrets.SMTP_PASS }}
          subject: 【GitHub部署成功】生产环境版本更新完成
          body: |
            环境名称: 生产环境
            部署版本: ${{ github.sha }}
            触发提交: ${{ github.event.head_commit.message }}
            完成时间: $(date +"%Y-%m-%d %H:%M:%S")
          to: dev-team@example.com,ops-team@example.com
          from: GitHub Deploy Bot <notify@example.com>

3. Jenkins 邮件通知模板(Freestyle项目)

在Jenkins系统配置的「Extended E-mail Notification」中设置如下HTML模板:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>部署成功通知</title>
</head>
<body>
  <h3>【部署成功】${ENV, var="ENV_NAME"}环境更新完成</h3>
  <ul>
    <li>环境名称: ${ENV, var="ENV_NAME"}</li>
    <li>部署版本: ${GIT_COMMIT}</li>
    <li>构建编号: ${BUILD_NUMBER}</li>
    <li>完成时间: ${BUILD_TIMESTAMP}</li>
    <li>构建日志: <a href="${BUILD_URL}console">点击查看</a></li>
  </ul>
  <p>请确认服务状态,如有异常及时处理。</p>
</body>
</html>

触发配置:在项目「构建后操作」中勾选「Editable Email Notification」,设置触发器为「Success」,并指定收件人列表。

配置失败常见排查点

  • SMTP服务器参数错误:核对SMTP地址、端口(SSL用465,TLS用587)是否匹配邮件服务商要求,用户名/密码是否有效(部分服务商需启用「应用密码」而非登录密码)。
  • 网络访问限制:检查部署服务器/CI runner是否能访问SMTP服务器,防火墙、安全组是否放行对应出站端口。
  • 变量传递失效:确认模板中的环境名、版本号等变量是否正确赋值,比如Shell脚本变量是否提前定义,Jenkins/GitHub Actions中变量是否存在。
  • 权限不足:执行发送操作的用户是否有足够权限(比如Shell脚本执行用户能否调用sendmail,Jenkins进程是否有权读取SMTP密码)。
  • 触发条件错误:确认是否设置了正确的触发时机(比如GitHub Actions中if: success()是否生效,Jenkins是否勾选了对应构建状态的触发器)。

内容的提问来源于stack exchange,提问作者ANAND RAJEEV

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 17:00:11