PHPMailer實現發送郵件功能

  首先須要下載PHPMailer庫,連接:  https://pan.baidu.com/s/1nwFIIc5 密碼: xq9b,解壓放在項目中待引用。php

  接下來是兩段代碼。數組

  /**
     * 發送郵件
     *
     * @param  to       收件人郵箱地址
     * @param  subject  郵件標題
     * @param  body     郵件內容
     * @param  ccto     抄送人 多人用數組
     * @param  fileurl  附件地址
     * @param  filename 附件名
     */
    public function postmail($to,$subject,$body,$ccto='',$fileurl='',$filename=''){
        ini_set("magic_quotes_runtime",0);
        $mailConfigs      = config('mail_config');
        $result           = import('class',EXTEND_PATH.'/phpmailer','.phpmailer.php');
        $mail             = new \PHPMailer(true);
        $body             = $body;//對郵件內容進行必要的過濾
        $mail->CharSet    ="utf-8";//設定郵件編碼,默認ISO-8859-1,若是發中文此項必須設置,不然亂碼
        $mail->IsSMTP();//設定使用SMTP服務
        $mail->SMTPAuth   = true; //啓用 SMTP 驗證功能 $mail->SMTPSecure = "ssl";  安全協議
        $mail->Host       = "";//SMTP 服務器
        $mail->Port       = 587;//SMTP服務器的端口號
        $mail->Username   = "";//SMTP服務器用戶名
        $mail->Password   = "";//SMTP服務器密碼
        $mail->SetFrom($mailConfigs['service_email'], $mailConfigs['service_from']);
        $mail->AddReplyTo($mailConfigs['service_email'],$mailConfigs['service_from']);
        $mail->Subject    = $subject;
        $mail->AltBody    = "";
        $mail->Body =$body;
        if(!empty($ccto)){
            if(is_array($ccto)){
                foreach($ccto as $key =>$val){
                    $mail->addCC($val);
                }
            }else{
                $mail->addCC($ccto);
            }
        }
        $mail->AddAddress($to);
        if($fileurl){
            $mail->AddAttachment($fileurl,$filename);//添加附件,並指定名稱
        }
        if(!$mail->Send()) {
            return  false;
        } else {
            return  true;
        }
    }
public function sendMail(){
        $toemail     = "";//收件地址
        $subject     = "";//郵件標題
        $body        = "";//郵件內容
        $res = $this->postmail($toemail,$subject,$body);
        if($res){
            return show(2001,'發送成功');
        }else{
            return show(4000,'發送失敗');
        }
    }