ThinkPHP郵件發送類

來源:互聯網
上載者:User

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

/** * 系統郵件發送函數 * @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'   => 'mail@aaa.com', //SMTP伺服器使用者名稱    'SMTP_PASS'   => 'password', //SMTP伺服器密碼    'FROM_EMAIL'  => 'mail@aaa.com', //寄件者EMAIL    'FROM_NAME'   => 'ThinkPHP', //寄件者名稱    'REPLY_EMAIL' => '', //回複EMAIL留空則為寄件者EMAIL)    'REPLY_NAME'  => '', //回複名稱留空則為寄件者名稱) ),



喜歡討論的朋友可以加群252799167

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.