ThinkPHP 中使用 PHPMailer 發送郵件 支持163和QQ郵箱等

PHP是自帶能夠發送郵件的Mail()函數的,但須要在php.ini配置。本文將介紹一種簡單的經過PHPMailer發送郵件的方法。php

  而PHPMailer是一個用於發送電子郵件的PHP函數包,它能夠使用SMTP的方法經過16三、QQ郵箱等第三方服務器發送郵件。這樣還有一個好處,就是這些大型郵箱發出的郵件通常不會被屏蔽。web

  另外說明一下,ThinkPHP是一個開源的PHP框架。若是隻是尋找PHP中發送郵件的方法而誤入此地的同窗請繼續Google百度!服務器

下面是具體步驟:框架

第一步、添加PHPMailer類庫

  將下載後的文件解壓,將PHPMail目錄移動至ThinkPHP目錄中的Vendor內。(請確保phpmailer.class.php文件就在ThinkPHP\Vendor\PHPMailer\phpmailer.class.php)函數

第二步、添加發送郵件函數

  在項目目錄中的Common文件夾中的common.php文件,添加以下代碼:ui

<?php/********** * 發送郵件 * **********/
function SendMail($address,$title,$message){
    Vendor('PHPMailer.phpmailer','','.class.php');
    $mail=new PHPMailer();
    // 設置PHPMailer使用SMTP服務器發送Email
    $mail->IsSMTP();
    // 設置郵件的字符編碼,若不指定,則爲'UTF-8'
    $mail->CharSet='UTF-8';
    // 添加收件人地址,能夠屢次使用來添加多個收件人
    $mail->AddAddress($address);
    // 設置郵件正文
    $mail->Body=$message;
    // 設置郵件頭的From字段。
    $mail->From=C('MAIL_ADDRESS');
    // 設置發件人名字
    $mail->FromName='LilyRecruit';
    // 設置郵件標題
    $mail->Subject=$title;
    // 設置SMTP服務器。
    $mail->Host=C('MAIL_SMTP');
    // 設置爲"須要驗證"
    $mail->SMTPAuth=true;
    // 設置用戶名和密碼。
    $mail->Username=C('MAIL_LOGINNAME');
    $mail->Password=C('MAIL_PASSWORD');
    // 發送郵件。
    return($mail->Send());}
?>
第三步、配置郵箱信息
 編輯Conf目錄下的config.php,在return array添加以下內容
'MAIL_ADDRESS'=>'xxx@126.com', // 郵箱地址
'MAIL_SMTP'=>'smtp.126.com', // 郵箱SMTP服務器
'MAIL_LOGINNAME'=>'xxx', // 郵箱登陸賬號
'MAIL_PASSWORD'=>'xxx', // 郵箱密碼

第四步、在Action中發送郵件
  因爲ThinkPHP會自動加載common.php中的函數,因此在須要發送郵件的時候,只須要使用以下代碼便可。
SendMail("xxx@xxx.com","郵件標題","郵件正文");
相關文章
相關標籤/搜索