Skip to main content
☘️ Septvean's Documents
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Jenkins 发送邮件配置

邮箱信息

  • SMTP Server:smtp.qq.com
  • SMTP Port:587
  • Use TLS:true
  • User Name:taxkiz@qq.com
  • Password:xxxxxxxxxxxxxxxx
  • Default Content Type:HTML (text/html)

配置流程

  1. 配置 Jenkins Location
  2. 配置 E-mail Notification
  3. 配置 Extended E-mail Notification
  4. 配置 Jenkinsfile

配置 Jenkins Location

Jenkins -> Manage Jenkins -> System Configuration -> Jenkins Location

System Admin e-mail address (系统管理员电子邮件地址) 配置为 taxkiz@qq.com

  • 如果不配置这个,或者配置错误,E-mail Notification 测试时,会报错误: 501 Mail from address must be same as authorization user

配置 E-mail Notification

配置 SMTP server、Use SMTP Authentication、SMTP Port,勾选 Use TLS

测试

  • 配置收件人邮箱,然后点击 Test configuration
  • 测试成功,会提示 Email was successfully sent

邮箱中会收到一封测试邮件

配置 Extended E-mail Notification

先在 Credentials 中创建一个凭证

配置 Extended E-mail Notification

Default Content Type 选择 HTML (text/html)

配置 Jenkinsfile

    post {
        // 构建成功
        success {
            echo '🎉 构建成功!'
            emailext(
                subject: "Jenkins build succeeded: ${env.JOB_NAME} [${env.BRANCH_NAME}] #${env.BUILD_NUMBER}",
                body: """
<html>
    <body>
        <h2 style="color:green;">Jenkins Build Succeeded</h2>
        <ul>
            <li><b>Job:</b> ${env.JOB_NAME}</li>
            <li><b>Branch:</b> ${env.BRANCH_NAME}</li>
            <li><b>Build:</b> #${env.BUILD_NUMBER}</li>
            <li><b>Status:</b> <a href="${env.BUILD_URL}">${env.BUILD_URL}</a></li>
        </ul>
    </body>
</html>
""",
                to: 'septvean@qq.com'
            )
        }

        // 构建失败
        failure {
            echo '🚨 构建失败!'
            emailext(
                subject: "Jenkins build failed: ${env.JOB_NAME} [${env.BRANCH_NAME}] #${env.BUILD_NUMBER}",
                body: """
<html>
    <body>
        <h2 style="color:red;">Jenkins Build Failed</h2>
        <ul>
            <li><b>Job:</b> ${env.JOB_NAME}</li>
            <li><b>Branch:</b> ${env.BRANCH_NAME}</li>
            <li><b>Build:</b> #${env.BUILD_NUMBER}</li>
            <li><b>Status:</b> <a href="${env.BUILD_URL}">${env.BUILD_URL}</a></li>
        </ul>
    </body>
</html>
""",
                to: 'septvean@qq.com'
            )
        }
    }

邮件示例: