使用PHPMAILER實現PHP發郵件功能
阿新 • • 發佈:2018-12-13
第一步:
開啟網址https://github.com/PHPMailer/PHPMailer/ 下載PHPMailer,PHPMailer 需要 PHP 的 sockets 擴充套件支援,而登入 QQ 郵箱 SMTP 伺服器則必須通過 SSL 加密的, PHP 還得包含 openssl 的支援。
第二步:使用 phpinfo() 函式檢視 socket 和 openssl 擴充套件資訊(wamp server 預設啟用了該擴充套件)。
openssl 如果沒有開啟請開啟php.ini檔案進行開啟
首先檢查php.ini中;extension=php_openssl.dll是否存在, 如果存在的話去掉前面的註釋符‘;’, 如果不存在這行,那麼新增extension=php_openssl.dll。
PHPMailer 核心檔案
第三步:QQ 郵箱設定
所有的主流郵箱都支援 SMTP 協議,但並非所有郵箱都預設開啟,您可以在郵箱的設定裡面手動開啟。
第三方服務在提供了賬號和密碼之後就可以登入 SMTP 伺服器,通過它來控制郵件的中轉方式。
第四步:開啟 SMTP 服務
選擇 IMAP/SMTP 服務,點選開啟服務
第五步:驗證密保
傳送簡訊“配置郵件客戶端”至1069-0700-69
第六步:獲取授權碼
SMTP 伺服器認證密碼,需要妥善保管(PS:密碼直接沒有空格)
第七步:PHP傳送郵件
基本程式碼
下面的程式碼演示了 PHPMailer 的使用方法,注意 PHPMailer 例項的配置過程。
/** * 傳送郵件 */ public function start_email($email,$passWord,$type) { $reTime = time(); $accessToken = md5($email . $passWord . $reTime);//建立用於啟用識別碼 $accessExpires = $reTime + 60 * 60 * 24; //過期時間為24小時後 //插入待啟用表 $data['user_name'] = $email; $data['pass_word'] = $passWord; $data['token'] = $accessToken; $data['expires'] = $accessExpires; $data['type'] = $type; $res = Db::table('equ_email')->insert($data); $link = TP_HTTP_PATH . "index/Login/activation?accessToken={$accessToken}"; $str = " 您好!<p></p> 感謝您在領創機械裝置網註冊帳戶!<p></p> 帳戶需要啟用才能使用,趕緊啟用成為領創機械裝置網的正式一員吧:)<p></p> 點選下面的連結立即啟用帳戶(或將網址複製到瀏覽器中開啟):<p></p> ".$link; $result = $this->send_email($email, '領創機械裝置網帳戶啟用郵件--' . $email, $str); if ($result['error'] == 1) { var_dump($result); die; } $this->success('郵件已傳送','index/login/denglu'); }