如何解决未收到 Jenkins 电子邮件扩展插件发送的电子邮件?
pipeline
{
agent any
stages
{
stage ('Start')
{
steps
{
echo 'Hello'
}
}
}
post
{
success
{
emailext (
to: 'me@domain.zzz',subject: 'Test subject',body: 'Test body'
)
}
}
}
这个简单的 Jenkins 管道似乎成功发送电子邮件(输出显示:Sending email to: me@domain.zzz
),但收件箱中从未收到电子邮件。
Jenkins 日志中没有任何内容。
我可以从 Manage Jenkins -> Configure System -> E-mail Notification
成功发送测试邮件。
我在这里使用 Email Extension plugin。有没有办法从电子邮件扩展插件发送测试邮件?有没有其他方法可以找出未发送/接收电子邮件的原因?
解决方法
首先:在 Manage Jenkins -> Configure System -> E-mail Notification -> Advanced
下检查 Enable Debug Mode
。这会在作业运行后提供大量信息!
问题是电子邮件扩展插件没有启用 TLS,因为只有一个 SSL 复选框可用。使用经典 Manage Jenkins -> Configure System -> E-mail Notification
时 - 有一个 TLS 复选框,但这里没有。
The solution 在 Debian Linux 上启用 startTLS:登录 Jenkins 并编辑 /etc/default/jenkins
。编辑 JAVA_ARGS
并添加以下内容:"-Dmail.smtp.starttls.enable=true"
。最后,这行对我来说是这样的:
JAVA_ARGS="-Djava.awt.headless=true -Dmail.smtp.starttls.enable=true"
。重启 Jenkins:sudo service jenkins restart
。
完成此操作后,发送电子邮件即可。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。