學習使用傳送郵件
我們在使用者註冊的時候都會傳送一份歡迎的郵件,像thinkPHP我們就需要自己整合郵件傳送,而在laravel中已經整合好了傳送的郵件,只要我們進行配置就可以了,下面就展示我在學習使用傳送郵件過程中遇到的幾個問題。
第一個問題:無法連線到163郵箱
我在配置的過程中出現了下面的錯誤提示,顯示如圖:
![無法連線到163郵箱](https://i.iter01.com/images/49e9d0c6b39e4edba7ca984fae1abe02474a2655fc1eee39da53344ca0035340.png)
經過仔細的檢查,發現是自己的埠號和連線的使用者名稱(我配置成沒有帶@163.com這個字尾的格式)沒有配置正確。
第二個問題:沒有開啟授權碼
在配置的過程中經常會出現下面的錯誤資訊,顯示如圖:
![沒有開啟授權碼](https://i.iter01.com/images/6fdc65fc8c06f07aae6906361f80d285a2c8e98d8556efc38fa285598e9917d9.png)
首先是要登入163郵箱開啟授權碼功能,開啟功能截圖:
![授權碼開啟截圖](https://i.iter01.com/images/5a013f827975a5f96e98340601dbe1715addbb45ff187d6ebbf829d4813c1bbf.png)
開啟完畢之後,需要在env檔案中配置,配置密碼為:授權碼,並非是登入密碼,重要的事情說三遍:授權碼,並非是登入密碼、授權碼,並非是登入密碼、授權碼,並非是登入密碼。
第三個問題
在前面的配置項中我們配置了錯誤資訊,但是我們配置了正確的郵件配置資訊之後,還是現實原來的錯誤資訊,不論我們是怎麼修改,顯示如圖:
![頁面提示的錯誤資訊](https://i.iter01.com/images/d9aa5b11dc90c316c01ba9554a7ff4b2179c17175253725d975ac158d79dd9bf.png)
![程式碼中已經修改好的配置資訊](https://i.iter01.com/images/bd2a05f9250879afe2630fd842137b51dc5e5f39526bec7a03ff3bf952467b4a.png)
遇到這個問題,首先第一個印象就是:可能是快取檔案引起的,可是我使用了php artisan config:clear
命令之後,還是顯示同樣的錯誤提示資訊,這時候就開始使用Google搜尋,可是也沒有具體的解決辦法,最後想起來,忘記重啟伺服器了:重新啟動伺服器,重啟之後,結果就顯示正常了。下面配置一張Stack Overflow上提示要重啟的伺服器的圖:
![重啟伺服器的提示資訊](https://i.iter01.com/images/11db75de17fce43b5ea1d7ccae5ab9c44594f4a1beda4aa4e75ea30f44ebc5ad.png)
總結
學習使用laravel傳送郵件需要注意的點:
- 配置的傳送郵件需要開啟授權碼功能
- 配置env檔案中的MAIL_USERNAME必須要有@163.com這樣的字尾
- 配置資料夾下的mail.php檔案中,from的鍵值需要配置address和name的值,推薦將配置項寫到env檔案中
- 配置傳送郵件的過程中,如果有任何的改動必須要重啟伺服器,否則無法生效