程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> ThinkPHP郵件發送類

ThinkPHP郵件發送類

編輯:PHP綜合

最近在做一個項目,需要有郵件發送的功能,服務器郵件發送的話,服務器上必須有能鏈接郵件服務器,才能實現以下的步驟,現在就給大家分享一下,專門做了一個郵件的發送類

/**
 * 系統郵件發送函數
 * @param string $to    接收郵件者郵箱
 * @param string $name  接收郵件者名稱
 * @param string $subject 郵件主題
 * @param string $body    郵件內容
 * @param string $attachment 附件列表
 * @return boolean
 */
 function think_send_mail($to, $name, $subject = '', $body = '', $attachment = null){
    $config = C('THINK_EMAIL');
    vendor('PHPMailer.class#phpmailer'); //從PHPMailer目錄導class.phpmailer.php類文件
    $mail             = new PHPMailer(); //PHPMailer對象
    $mail->CharSet    = 'UTF-8'; //設定郵件編碼,默認ISO-8859-1,如果發中文此項必須設置,否則亂碼
    $mail->IsSMTP();  // 設定使用SMTP服務
    $mail->SMTPDebug  = 0;                     // 關閉SMTP調試功能
                                               // 1 = errors and messages
                                               // 2 = messages only
    $mail->SMTPAuth   = true;                  // 啟用 SMTP 驗證功能
    $mail->SMTPSecure = 'ssl';                 // 使用安全協議
    $mail->Host       = $config['SMTP_HOST'];  // SMTP 服務器
    $mail->Port       = $config['SMTP_PORT'];  // SMTP服務器的端口號
    $mail->Username   = $config['SMTP_USER'];  // SMTP服務器用戶名
    $mail->Password   = $config['SMTP_PASS'];  // SMTP服務器密碼
    $mail->SetFrom($config['FROM_EMAIL'], $config['FROM_NAME']);
    $replyEmail       = $config['REPLY_EMAIL']?$config['REPLY_EMAIL']:$config['FROM_EMAIL'];
    $replyName        = $config['REPLY_NAME']?$config['REPLY_NAME']:$config['FROM_NAME'];
    $mail->AddReplyTo($replyEmail, $replyName);
    $mail->Subject    = $subject;
    $mail->MsgHTML($body);
    $mail->AddAddress($to, $name);
    if(is_array($attachment)){ // 添加附件
        foreach ($attachment as $file){
            is_file($file) && $mail->AddAttachment($file);
        }
    }
    return $mail->Send() ? true : $mail->ErrorInfo;
 }

此函數只能在ThinkPHP中使用且需要phpmailer擴展的支持;

phpmailer擴展的放置目錄為 ThinkPHP/Extend/Vendor/PHPMailer/class.phpmailer.php

phpmail的下載地址:

https://code.google.com/a/apache-extras.org/p/phpmailer

使用此函數 必須在項目中加入以下配置項

//郵件配置
 'THINK_EMAIL' => array(
    'SMTP_HOST'   => 'smtp.aaa.com', //SMTP服務器
    'SMTP_PORT'   => '465', //SMTP服務器端口
    'SMTP_USER'   => '[email protected]', //SMTP服務器用戶名
    'SMTP_PASS'   => 'password', //SMTP服務器密碼
    'FROM_EMAIL'  => '[email protected]', //發件人EMAIL
    'FROM_NAME'   => 'ThinkPHP', //發件人名稱
    'REPLY_EMAIL' => '', //回復EMAIL(留空則為發件人EMAIL)
    'REPLY_NAME'  => '', //回復名稱(留空則為發件人名稱)
 ),

本文出自 “尛雷” 博客,請務必保留此出處http://a3147972.blog.51cto.com/2366547/1221287

查看本欄目

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved