最近專案上要求,要做個郵件傳送的功能,因為用到的框架是ThinkPHP,於是就自己整理一下。
引入class.phpmailer.php,大家可以去這個連結去下載:
http://pan.baidu.com/s/1eRb40iY
介面demo,大家可以自行豐富:
在Home資料夾中建立檔案Lib,匯入下載的資料夾。
在controller層中引入class.phpmailer.php
引入檔案並例項化:
require_once(dirname(__FILE__).'/../Lib/mail/class.phpmailer.php'); $mail = new \PHPMailer(); //例項化
開始執行方法,我用的是163郵箱:
$mail->IsSMTP(); // 啟用SMTP $mail->Host = "smtp.163.com"; //SMTP伺服器 以163郵箱為例子 $mail->Port = 25; //郵件傳送埠 $mail->SMTPAuth = true; //啟用SMTP認證 $mail->CharSet = "UTF-8"; //字符集 $mail->Encoding = "base64"; //編碼方式 $mail->Username = ""; //你的郵箱 $mail->Password = ""; //你的密碼 $mail->Subject = "測試"; //郵件標題 $mail->From = ""; //發件人地址(也就是你的郵箱) $mail->FromName = "某某公司技術部"; //發件人姓名 $address = "";//收件人email,可以自定義 $mail->AddAddress($address, "李總");//新增收件人(地址,暱稱)$mail->AddAttachment($path); // 新增附件,並指定名稱 $mail->IsHTML(true); //支援html格式內容 $mail->Body = $data['sendcontent']; //郵件主體內容
進行判斷郵件是否傳送成功:
if(!$mail->Send()) { echo "傳送失敗: " . $mail->ErrorInfo; }else{ $obj = M('mail'); $res = $obj->data($data)->add(); $this->success('郵件傳送成功,頁面跳轉中......',U('Mail/mailList')); }
執行,收到郵件如下圖: