帶着新人學springboot的應用10(springboot+定時任務+發郵件)


  接上一節,環境一樣,這次來說另外兩個任務,一個是定時任務,一個是發郵件。

 

1.定時任務

  定時任務可以設置精確到秒的准確時間去自動執行方法。

  我要一個程序每一秒鍾說一句:java小新人最帥

  於是,我就寫了一個方法,注解里cron里面的很多星星意思是:每個月、周一到周日 、每個小時、每一分、每一秒都執行一次這個方法。

 

  主配置類加個開啟注解

 

  ok,可以了,直接啟動應用,不需要瀏覽器,直接在控制台看到打印的消息:

 

  所以我們要掌握的是@Scheduled注解中屬性cron的表達式,大概的就是下圖所示:

 

 

2.發郵件

  來測試一下用springboot發郵件,假如我用qq郵箱向一個老哥的網易郵箱發郵件,基本的邏輯就是:從qq郵箱---------->騰訊qq郵箱服務器------------>網易郵箱服務器-------------->163網易郵箱

  所以我們要配置的就是我們qq郵箱的賬號密碼

  第一步:導入依賴

 

  第二步:配置文件(看清楚stmp.qq.com這是SMTP服務器中qq郵件的主機地址,其他郵件有自己的STMP主機地址),最后的那個是建議ssl安全連接的,一定要開啟

 

 

  其中,qq郵箱得到授權碼步驟如下:

 

  第三步:測試類

 

   運行測試方法,可以在網易雲郵箱看到郵件:

 

 3.郵件的高級一點的功能(發郵件有附件)

 

 

  運行這個測試方法:

 

4.再高級一點(用模板發送郵件)

   還是用博客園注冊為例,不知道大家注冊的時候是不是收到了一個激活郵件,打開大概的格式就是:xxx用戶,您注冊博客園賬戶需要激活,請點擊激活郵件激活

  咳,記得不太清楚了,應該差不多,嘿嘿!話說難道每個人注冊博客園都會用上面的發送html的方式,慢慢拼接html然后發送嗎?其實這樣也行,只是看起來太lower了,而且代碼看起來會很凌亂。

  那今天我就用前面學的themeleaf給做個模板,來假裝發發郵件,騙騙自己,嘿嘿~(●´∀`●)~

  首先導入themeleaf的依賴,指定themeleaf的版本

 

  其實真正開發中,會把這個發郵件的方法寫成一個類,傳入一些參數就可以發送的,我們嘛,就怎么簡單怎么來吧! 

 

  themeleaf文件的位置和內容(不要忘記themeleaf的目錄位置和用法了)

 

  點擊激活賬號,就會跳轉到我的controller中的方法,如下:

 

  ok,到這里就可以了,記得,先運行springboot應用,然后運行測試方法,收到郵件,自己激活一下,然后就會跳轉到

 

  成功跳轉,於是你就激活成功了!

 

 

5.可能出現的bug

   說說用模板可能會碰到的bug,哎,用了我好幾個小時,現在我還是一副日了狗的心情。

  怎么回事呢?代碼寫了,看了好幾遍也沒錯,就是運行就報錯,在網上看了別人的代碼拿過來還是報錯,報錯如下:

 

 

  這個錯誤大概意思就是我的模板的html中每個標簽都要是閉標簽,要這種類型的<a></a>,假如是<img xxx>這種標簽就會報錯。

  如下所示,最坑的方法就是修改的,而且以后html的標簽都要是一對一對的,坑啊、、、

  

  后來有找了很多資料,原來發現是這里,themeleaf默認應該是2.xx版本,這個版本解析標簽都要是一對一對的,到了3.xx之后,就不需要這么麻煩了!

 

  都是版本問題,坑了我好幾個小時,哎,記住記住....


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM