前陣子因為工作的關係要使用Gmail SMTP Server來寄信,由於當時的情況有點緊急也有前輩和同事協助我,當下我也沒有搞懂整個設定的流程和需要注意的事項,這次因為開發新系統的關係要重新設定,剛好利用這次機會趕緊來紀錄一下,以Laravel Framework為例需要在.env檔加入以下設定:
MAIL_DRIVER=smtp MAIL_HOST=smtp.gmail.com MAIL_PORT=465 MAIL_FROM=test@gmail.com MAIL_NAME=someone MAIL_USERNAME=test@gmail.com MAIL_PASSWORD=test MAIL_ENCRYPTION=ssl
注意事項:
- encrytion的設定需要和port對應,若encrytion設為ssl則port須為465,若encrytion設為tls則port須為587
- encrytion的值須為小寫(ssl or tls)
- 使用Gmail SMTP Server每日寄送郵件上限數約為2000封
- 若以上設定確認無誤後,還是無法寄送信件並提示以下訊息,則需要啟用允許安全性較低的應用程式存取:
- 啟用安全性較低的應用程式存取權限後不會立即生效,大概要等30秒左右才會生效
References:
https://support.google.com/a/answer/176600?hl=en