Java

從 Hudson CI 使用 SMTP (Gmail) 發送電子郵件

  • January 7, 2014

如何設置 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 ,但我不知道該怎麼做。我有哪些選擇?

謝謝大家!

查看您的/etc/init.d/hudson腳本(您需要在編輯命令前加上 sudo),您將看到與上面列出的類似的 java 命令。只需將-Dmail.smtp.starttls.enable="true"參數添加到該命令中,您就可以開始使用了。

我使用這篇文章來準備我的環境以發送非常有用的電子郵件。另一方面,在不更改 hudson 腳本的情況下將額外參數放入 java 中的最佳方法是更改​​定義系統預設值的 hudson 配置文件。

就我而言,我使用了 CentOS,位置文件是 /etc/sysconfig/hudson - 首先停止服務:service hudson stop

  • sudo vim hudson
  • 編輯您在發布文章時需要的變數:

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

編輯後保存並再次啟動 hudson:service hudson stop

我希望我的評論能有所幫助

引用自:https://serverfault.com/questions/144360