ThinkPHP下SMTP的發送郵件____PHP

來源:互聯網
上載者:User

發送郵件的兩個方法,博主已經親自測試成功 1.TP官網方法

(http://www.thinkphp.cn/extend/248.html)
a).引入函數庫:Email.class.php放在component檔案夾下
b).設定檔:common/Conf/config.php中加入如下:

    'SMTP_SERVER' =>'smtp.163.com',                 //郵件伺服器        'SMTP_PORT' =>'25',                             //郵件伺服器連接埠        'SMTP_USER_EMAIL' =>'@163.com',     //SMTP伺服器的使用者郵箱(一般寄件者也得用這個郵箱)        'SMTP_USER'=>'@163.com',            //SMTP伺服器賬戶名        'SMTP_PWD'=>'授權密碼',                         //SMTP伺服器賬戶密碼        'SMTP_MAIL_TYPE'=>'HTML',                       //發送郵件類型:HTML,TXT(注意都是大寫)        'SMTP_TIME_OUT'=>30,                            //逾時時間        'SMTP_AUTH'=>true,  
c).實際調用:controller.php,直接可以在控制器中應用,如下
        $mail = new \Component\Email();        $data['mailto']  =   "123456@qq,.com"; //收件者        $data['subject'] =   '歡迎註冊網站';    //郵件標題        $data['body']    =   "郵件內文內容";    //郵件內文內容        if($mail->send($data))           {                //郵件發送成功...           }           else           {                //郵件發送失敗...           }
2.類庫
a).引入函數庫,PHPMailer移動到thinkphp裡的library\Vendorb).設定檔,common/Conf/config.php中加入如下:
// // 配置郵件發送伺服器        'MAIL_HOST' =>'smtp.163.com',//smtp伺服器的名稱smtp.exmail.qq.com        'MAIL_SMTPAUTH' =>TRUE, //啟用smtp認證renxiaole66@126.com        'MAIL_USERNAME' =>'@163.com',//你的郵箱名        'MAIL_FROM' =>'@163.com',//寄件者地址        'MAIL_FROMNAME'=>'MR.峰',//寄件者姓名        'MAIL_PASSWORD' =>'授權密碼',//郵箱授權密碼        'MAIL_CHARSET' =>'utf-8',//設定郵件編碼        'MAIL_ISHTML' =>TRUE, // 是否HTML格式郵件
c).引入函數,common/common/function.php,建立此php檔案,後邊用時架構會自動載入
function SendMail($to, $title, $content) {              Vendor('PHPMailer.PHPMailerAutoload');                   $mail = new PHPMailer(); //執行個體化              $mail->IsSMTP(); // 啟用SMTP              $mail->Host=C('MAIL_HOST'); //smtp伺服器的名稱(這裡以QQ郵箱為例)              $mail->SMTPAuth = C('MAIL_SMTPAUTH'); //啟用smtp認證              $mail->Username = C('MAIL_USERNAME'); //你的郵箱名              $mail->Password = C('MAIL_PASSWORD') ; //郵箱密碼              $mail->From = C('MAIL_FROM'); //寄件者地址(也就是你的郵箱地址)              $mail->FromName = C('MAIL_FROMNAME'); //寄件者姓名              $mail->AddAddress($to,"尊敬的客戶");              $mail->WordWrap = 50; //設定每行字元長度              $mail->IsHTML(C('MAIL_ISHTML')); // 是否HTML格式郵件              $mail->CharSet=C('MAIL_CHARSET'); //設定郵件編碼              $mail->Subject =$title; //郵件主題              $mail->Body = $content; //郵件內容              $mail->AltBody = "這是一個純文字的身體在非營利的HTML電子郵件用戶端"; //郵件內文不支援HTML的備用顯示              return($mail->Send());          }
d).實際調用:controller.php,直接可以在控制器中應用,如下
   if(SendMail("$_POST[user_email]",'歡迎註冊網站',"$message")){                    $this->success('發送成功,請啟用後登入',U('login'));                }else{                    $this->error('發送失敗');                }            }else{//add()失敗                // echo "error";                $this->error('註冊失敗',U('register'));            }
注意:

1.在配置郵箱的帳號密碼時,密碼為SMTP的【授權密碼】,與你的登入密碼是不一樣的,
否則提示: 535 authentication failed
2.必須開啟SMTP服務,以163郵箱為例子:

這樣的話,使用者註冊啟用,使用者找回密碼等等,不都能實現了嗎。o(∩_∩)o

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.