網頁

4/27/2013

[CI]CodeIgniter & PHPMailer(使用Gmail的SMTP)寄信


想用PHP寄送Email,但使用內建的mail()函數需要有SMTP伺服器很麻煩,網路上有個好用的工具叫PHPMailer它可以使用Gmail的SMTP寄信,接著就介紹一下在CodeIgniter中如何使用。

Step 1:在application\libraries中建立Sendmail.php。
<?php
require_once ("class.phpmailer.php");//載入PHPMailer類別 

class Sendmail
{
 public function send($to, $subject, $body){
  $mail = new PHPMailer();
  $mail->IsSMTP();

  $mail->SMTPAuth = true;//使用Gmail的SMTP需要驗證,所以這裡要設true
  $mail->SMTPSecure = "ssl";

  //Gmail的SMTP是使用465port
  $mail->Host = "smtp.gmail.com";
  $mail->Port = 465;
  $mail->Username = 'xxx@gmail.com';//帳號
  $mail->Password ='xxxxxxxxxxxxxx';//密碼

  $mail->From = 'xxx@gmail.com';//寄件者
  $mail->FromName = 'xxx';//寄件者姓名

  $mail->AddAddress($to);//收件者
   

  $mail->CharSet = "utf-8";
  $mail->Encoding = "base64";
  $mail->IsHTML(true);
  $mail->WordWrap = 50;

  $mail->Subject = $subject;//主旨
  $mail->Body = $body;//內文
  $mail->AltBody = "Your browser does not support HTML";

  $mail->Send();
 }
}
Step 2:在要使用的地方載入此類別,之後就可以使用了。

//載入sendmail
$this->load->library('sendmail');
//寄信
$this->sendmail->send('收件者','主旨','內文');

沒有留言:

張貼留言