jenkins学习笔记第十四篇 解决emailext没有发送邮件问题

本文介绍了如何正确配置emailext插件以实现Jenkins构建过程中的邮件通知功能,特别是关于附件路径配置的注意事项。

有时候配置了emailext发送邮件,但是并没有成功发送邮件,也没有报错,要记住下面几点:

emailext的attachmentsPattern,不能以 ../ or ./ or / 开头
../ 开头发邮件的时候会报错
./ or / 开头不报错,但是邮件也没附件…
只能以文件/文件夹名开头

emailext步骤的常用参数介绍如下:

• subject:String类型,邮件主题。

• body:String类型,邮件内容。

• attachLog(可选):Bool类型,是否将构建日志以附件形式发送。

• attachmentsPattern(可选):String类型,需要发送的附件的路径,Ant风格路径表达式。

• compressLog(可选):Bool类型,是否压缩日志。

• from(可选):String类型,收件人邮箱。

• to(可选):String类型,发件人邮箱。

• recipientProviders(可选):List类型,收件人列表类型。

• replyTo(可选):回复邮箱。

如:

post {
    emailext(
                     body: '$DEFAULT_CONTENT',
                      subject: '$JOB_NAME',
                      attachmentsPattern: 'html/${JOB_NAME}_报告_$Dateparameter.html',
                      from: '',
                      to: '$DEFAULT_RECIPIENTS'
              ) 
}

 

### Jenkins 发送邮件脚本示例 在 Jenkins 中,通过 Pipeline 实现自动化邮件通知功能有两种主要方式:一是利用 Email Extension Plugin 插件;二是采用 Jenkins 内置的 `mail` 步骤。 #### 使用 Email Extension Plugin 插件发送邮件 为了增强邮件定制能力并支持更复杂的场景,在 Pipeline 脚本里可以调用 email-ext 方法来设置收件人、主题、正文等内容: ```groovy pipeline { agent any stages { stage('Example Build') { steps { echo 'Building..' // 构建成功后触发邮件通知 emailext ( subject: "Build Result: ${currentBuild.result}", body: '''Hello Team, The build has completed with status: ${currentBuild.result}. Please check the details at ${BUILD_URL}. Best regards, Jenkins''', to: 'example@example.com', attachLog: true, // 可选参数,附加构建日志文件到邮件中 compressLog: true // 如果启用了attachLog,则可以选择压缩日志文件 ) } } } post { always { cleanWs() // 清理工作空间 } } } ``` 此段代码展示了如何在一个简单的流水线定义内集成 email-ext 命令[^3]。它允许用户指定详细的邮件模板,并能根据实际需求灵活调整各项属性。 #### 利用内置 mail 步骤发送简单邮件 对于不需要复杂配置的情况,可以直接运用 Jenkins 提供的基础邮件服务——即 `mail` 步骤来进行快速的通知推送: ```groovy pipeline { agent any environment { RECIPIENT_EMAIL = 'recipient@example.com' // 设置环境变量存储目标邮箱地址 } stages { stage('Simple Notification') { steps { sh './build.sh' // 成功完成后向预设接收者发出一封简洁的信息 mail( to: "${env.RECIPIENT_EMAIL}", subject: "Job '${env.JOB_NAME}' (${env.BUILD_NUMBER}) is done.", body: "Check out the result here: ${env.BUILD_URL}" ) } } } } ``` 上述实例说明了怎样借助 Groovy DSL 编写一段简易却实用的邮件提醒逻辑。这种方式适合那些只需要基本反馈机制而不必深入定制的情形。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员路同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值