天天看點

Jenkins 設定建構失敗發送郵件(學習筆記二十一)

本文是jenkins應用系統文章的一部分,大部分來自工作和學習中的實踐,部分内容來自官方文檔和網友的文章,引用的文章會在“參考資料”部分附上原始連結,如無意中侵犯您的權利,請聯系QQ:46106962,如需要進一步的交流請加入QQ群: (Jenkins學習交流)469536515。轉載和使用請注明出處。

郵件伺服器配置

首先在Jenkins的“系統管理”->“系統設定”中設定“系統管理者郵件位址”,如:[email protected];“系統管理者郵件位址”要和下面“郵件通知”中使用相同的字尾名和使用者名,否則會報異常。

QQ郵箱服務 第一步

登入QQ郵箱,在“帳戶”裡開啟“POP3/SMTP”并擷取授權碼,授權碼的說明見http://service.mail.qq.com/cgi-bin/help?subtype=1&&no=1001256&&id=28。

第二步

在Jenkins的“系統管理”->“系統設定”中的“郵件通知”中設定郵件伺服器相關的參數,如下圖:

Jenkins 設定建構失敗發送郵件(學習筆記二十一)
特别提示

“使用者名”要和“系統管理者郵件位址”中的保持一緻,否則會在“通過發送測試郵件配置”進行測試時會報異常:com.sun.mail.smtp.SMTPSendFailedException: 501 mail from address must be same as authorization user

“密碼”填寫第一步中擷取的授權碼,否則會報異常:javax.mail.AuthenticationFailedException: 535 Error

126郵箱服務
Jenkins 設定建構失敗發送郵件(學習筆記二十一)

在使用126的郵箱服務時smtp的端口為預設端口,即25;不需要使用SSL協定,如果勾選“使用SSL協定”會報異常:javax.mail.MessagingException: Could not connect to SMTP host: smtp.126.com, port: 25;

  nested exception is:

     javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection

163郵箱服務 個人郵箱

登入163郵箱,在“設定”->“POP3/SMTP/IMAP”設定授權碼

Jenkins 設定建構失敗發送郵件(學習筆記二十一)

“密碼”填在“第一步”中設定的授權碼,如果用登入密碼會報異常javax.mail.AuthenticationFailedException: 535 Error: authentication faile

關于“smtp伺服器”的設定,163郵件的幫助文檔裡寫的是“smtp.126.com”,不要按文檔上寫的而要使用“smtp.163.com”

163 smtp協定可用端口如下圖:

Jenkins 設定建構失敗發送郵件(學習筆記二十一)

實際驗證發現端口25也可用于SSL協定。

企業郵箱 Job中發郵件功能設定

   Job中要使用發郵件功能,需要在“建構後操作”中選擇“郵件通知(Mail Notifcation)”,設定“接收人(Recipients)”,多個接收人時用英文空格分隔。

   “Mailer Plugin”有如下兩個可選項:

“每次不穩定的建構都發送郵件通知”

此選項預設是選中的,當Job運作失敗或不穩定時發郵件給“接收人”中指定的人

“單獨發送郵件給對建構造成不良影響的責任人”

此選項選中時會向導緻建構失敗的代碼送出人的郵件中發送郵件,郵箱字尾名是在“郵件通知”是在“使用者郵箱預設字尾”中設定的,如果這樣的郵箱不存在将會發送失敗導緻Job失敗。我猜測Mailer Plugin會從scm的送出記錄中擷取送出人名稱,然後和“使用者郵箱預設字尾”拼在一起組成郵箱并發送郵件。

版權聲明:轉載請注明出處 https://blog.csdn.net/houyefeng/article/details/50914582

繼續閱讀