java 发送邮件_Jenkins实现自动化邮件发送踩坑记录
文章簡介
本文分享Jenkins實現郵件發送,安裝Jenkins可參考jenkins安裝。寫這篇文章,是在實際使用Jenkins過程中遇到這樣一個問題,當每次Jenkins構建成功或者失敗后,需要個人登錄Jenkins查看構建結果,同時在構建前做了數據備份,也需要手動的拷貝一份備份文件到本地。為了解決這個問題,便想到了Jenkins的郵件功能。在個人實踐中,在每次master分支自動構建前,需要將數據庫和代碼打包、備份,在Jenkins構建結束之后,將備份的文件發送給對應的負責人。
文章部分細節的地方可能省略待過,因此需要對Jenkins有一定使用的用戶比較合適,如果不熟悉的,可以參考上面提交的文章。文章涉及到不準確的信息還望反饋。大致邏輯
接下來整個流程,也都按照該流程進行演示如何配置。
安裝插件
首先點擊管理,然后點擊插件管理,跳轉到插件中心。
如果沒有安裝過email對應的插件,點擊可選插件按鈕,然后輸入email關鍵詞,進行搜索即可。這里我已經安裝過了,為了演示選擇已安裝菜單。
在安裝插件的過程中,需要注意一個版本號。2.73版本的插件有一個bug,就是配置正確卻不能發送郵件。建議避開這個版本號。系統配置
安裝好插件之后,接下來就需要進入系統配置。進入系統配置,主要配置兩個地方,一個是管理員的郵箱地址,一個是插件的配置信息。
記住插件發送郵件的賬號一定的和管理員的郵箱賬號一致,否者會出現下面錯誤信息。錯誤信息:
com.sun.mail.smtp.SMTPSenderFailedException: 553 Mail from must equal authorized user at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1587) Caused: com.sun.mail.smtp.SMTPSendFailedException: 553 Mail from must equal authorized user;nested exception is:com.sun.mail.smtp.SMTPSenderFailedException: 553 Mail from must equal authorized userat com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2057)at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1580)at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1097)at javax.mail.Transport.send0(Transport.java:195)at javax.mail.Transport.send(Transport.java:124)at hudson.tasks.Mailer$DescriptorImpl.doSendTestMail(Mailer.java:581)at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)錯誤信息的大致意思就是說,郵箱的授權用戶(插件配置的賬號)和from(郵件發送者)賬號不一致。
這里其實有點小困惑,郵件配置授權賬戶,為什么管理員的郵件賬號還必須保持一致。按理來說,既然配置了授權用戶,就采用配置的授權郵箱進行發送唄。可能是系統使用的管理員郵件發送。這里的配置授權僅僅是為了授權第三方郵箱賬戶吧。項目配置
接下來,我們創建一個任務測試發送郵件。至于具體的配置這里省略待過,直接記錄配置郵件的地方。
這里面就是針對該項目的具體配置信息,上面我們提交到系統配置,屬于全局配置。如果這里沒有配置,則默認走全局配置。大致的配置信息和全局配置都是相同的作用,可以根據不同的任務,自行配置即可。
郵件測試
最后配置完畢,當提交代碼待倉庫后,使用webhooks自動觸發構建,登錄郵箱就可以查看到下面的一些構建基礎信息了。如果郵件需要更多的配置信息,直接到任務中去配置即可。
?
總結
以上是生活随笔為你收集整理的java 发送邮件_Jenkins实现自动化邮件发送踩坑记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring-security登录和权限
- 下一篇: python3 django开发_pyt