1.登陸163郵箱,在首頁上找到「設置」。php
2.選擇開啓的服務,通常都全選,POP3/SMTP/IMAP,開啓SMTP服務就得先開通客戶受權碼。thinkphp
3.點擊開通客戶受權碼,選擇開啓瀏覽器
4.須要手機驗證碼,須要綁定手機號。php框架
5.SMTP服務須要輸入客戶端受權密碼,這個密碼就是是你在第三方客戶端上的郵箱登陸密碼(在後面使用phpmailer發送郵件時會用到),若是在第三方客戶端上輸入以前的郵箱登陸密碼就會出錯。服務器
6.設置完客戶端受權密碼後就成功開通了SMTP服務app
2、首先下載phpmailer壓縮包。框架
phpmailer的下載地址PHPMailer。解壓以後,裏面的許多文件都沒有用到,而後再thinkphp5的項目中的extend目錄下新建一個phpmailer文件夾,而後把class.phpmailer.PHP和class.smtp.php文件複製到phpmailer目錄下。thinkphp5
3、phpmailer的代碼實現測試
一、使用phpmailer時,須要用到php的openssl擴展,在php.ini中開啓。編碼
2.首先注意,thinkphp5中的extend下的擴展類庫使用的是命名空間必須在class.phpmailer.php和class.smtp.php最開頭加上
以下圖:
三、在class.phpmailer.php中的2315行使用到了php的Exception異常類,在thinkphp框架中直接繼承,thinkphp找不到Exception因此要修改以下;
四、在使用phpmailer時,實例化PHPMailer(),須要使用命名空間。
這裏有一個問題,thinkphp5的擴展類的定義是,類文件命名爲:phpmailer.php而不是class.phpmailer.php。因此要把class.phpmailer.php重命名爲phpmailer.php。
而後,在控制器中用use引入。
例如在index控制器中調用phpmailer:
4、常見的錯誤處理
一、瀏覽器出現以下,說明php中沒有開啓openssl擴展(去掉php.ini中extension=php_openssl.dll前面的分號(;),記得重啓Apache服務)Windows下有時可能會開啓不了服務,能夠用Windows的服務開啓:
SMTP Error: Could not connect to SMTP host. Message could not be sent.Mailer Error: SMTP Error: Could not connect to SMTP host.
二、瀏覽器中出現以下,說明phpmailer類庫中沒有沒有寫命名空間(namespace phpmailer;)
三、瀏覽器中出現以下,說明class.smtp.php類庫中沒有沒有寫命名空間(namespace phpmailer;)
四、瀏覽器中出現以下,說明在控制器中沒有用use(use phpmailer\phpmailer;)引入:
五、瀏覽器中出現以下,說明thinkphp框架找不到Exception異常類:在Exception前面加上反斜槓"\"(參考上文)