使用 SMTP (Gmail) 从 Hudson CI 发送电子邮件

使用 SMTP (Gmail) 从 Hudson CI 发送电子邮件

如何设置 Hudson CI,以便在构建失败后从服务器发送电子邮件?目前我得到的只是以下错误:

com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.0 Must issue a STARTTLS command first

一个解决方案是按如下方式启动Hudson:

java -Dmail.smtp.starttls.enable="true" -jar /usr/share/hudson/hudson.war

不过,我已经使用以下命令启动 Hudson:

sudo /etc/init.d/hudson start

我认为解决方案是以某种方式在某个属性文件中设置系统属性 mail.smtp.starttls.enable,但我不知道该怎么做。我有什么选择?

谢谢大家!

答案1

查看/etc/init.d/hudson脚本(您需要在编辑命令前加上 sudo),您将看到与上面列出的类似的 java 命令。只需将参数添加-Dmail.smtp.starttls.enable="true"到该命令即可。

答案2

我使用这篇文章来准备发送电子邮件的环境,这非常有帮助。另一方面,在不更改 hudson 脚本的情况下将额外参数放入 java 中的最佳方法是更改​​定义系统默认值的 hudson 配置文件。

就我而言,我使用的是 CentOS,位置文件是 /etc/sysconfig/hudson - 首先停止服务:哈德逊服务站 -sudo vim hudson - 编辑帖子中需要的变量:

HUDSON_JAVA_OPTIONS="-Djava.awt.headless='true' -Dmail.smtp.starttls.enable='true'"

编辑后保存并再次启动hudson:哈德逊服务站

我希望我的评论能有所帮助

答案3

在 ubuntu 中,我通过修改 /etc/default 中的默认 jenkins 文件来添加 JAVA_ARGS 选项。然后重新启动 jenkins 以使更改生效。补丁如下。

--- /etc/default/jenkins.orig   2011-04-13 13:56:57.651180999 -0700
+++ /etc/default/jenkins        2011-04-13 14:23:38.651181002 -0700
@@ -8,6 +8,7 @@

 # arguments to pass to java
 #JAVA_ARGS="-Xmx256m"
+JAVA_ARGS='-Dmail.smtp.starttls.enable="true"'

 PIDFILE=/var/run/jenkins/jenkins.pid

相关内容