最近一個專案須要在預約登記成功之後,發送通知信至使用者的電子郵件信箱,所以研究了一下 CI4 中的 Email Library。
CI4 Email Class
CI4 已經有內建電子郵件的服務(/Config/Services::Email()),只需要在 app/Config/Email.php 中填入必要的參數即可。其中可用的發信 protocol 可使用 mail、sendmail 和 smtp,使用 smtp 可以由 smtp.gmail.com 也就是用 Gmail 的 SMTP 來發信。
利用 Gmail SMPT 需要設定的參數:
public $protocol = 'mail';
public $SMTPHost = 'smtp.gmail.com';
public $SMTPUser = 'Gmail帳號';
public $SMTPPass = 'Google 應用程式密碼';
public $SMTPPost = 465;
public $SMTPCrypto = 'ssl'; //預設為 tls,一定要改成 ssl,否則發不出去。
其他參數:
public $wordWrap = false; //取消自動斷行
Google 應用程式密碼
以前寫過利用 Gmail SMTP 發信的程式,用的是原有的 gmail 帳號和密碼,需要將該帳號安全性定開啟「低安全性應用程式存取權」:
但這樣子會降低 google 帳號的安全性,並不建議如此做!現今的方式是使用「Google 應用程式密碼」來處理。
參考網址:【2021最新版】如何使用Google SMTP寄信(兩段式驗證+應用程式密碼) - 主機架站寄信教學 https://www.webdesigntooler.com/google-smtp-send-mail
留言
張貼留言