ThinkPHP邮件发送类

最近在做一个项目,需要有邮件发送的功能,服务器邮件发送的话,服务器上必须有能链接邮件服务器,才能实现以下的步骤,现在就给大家分享一下,专门做了一个邮件的发送类

/**
 * 系统邮件发送函数
 * @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'  => '', //回复名称(留空则为发件人名称)
 ),

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

查看本栏目更多精彩内容:http://www.bianceng.cn/webkf/PHP/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索服务器
, 邮件
, mail
, smtp
, config
, phpmailer
, thinkphp 栏目
, Mail类
, ThinkPHP发送邮件
, php发邮件类
, Email类
, Email邮件
phpmail
thinkphp邮件发送、php邮件发送类、thinkphp5 发送邮件、thinkphp3.2 发送邮件、thinkphp qq发送邮件,以便于您获取更多的相关知识。

时间: 2024-08-23 23:41:03

ThinkPHP邮件发送类的相关文章

CI框架简单邮件发送类实例_php实例

本文实例讲述了CI框架简单邮件发送类.分享给大家供大家参考,具体如下: ci框架绝对是php初学中想要的东西,它能极大的缩短你的代码量! 下面看看我的发送邮件的简单演示: function email() { $this->load->library('email'); $config['protocol'] = 'smtp'; $config['smtp_host'] = 'smtp.163.com'; $config['smtp_user'] = 'jb51@163.com';//这里写上

CI框架简单邮件发送类实例

本文实例讲述了CI框架简单邮件发送类.分享给大家供大家参考,具体如下: ci框架绝对是php初学中想要的东西,它能极大的缩短你的代码量! 下面看看我的发送邮件的简单演示: function email() { $this->load->library('email'); $config['protocol'] = 'smtp'; $config['smtp_host'] = 'smtp.163.com'; $config['smtp_user'] = 'jb51@163.com';//这里写上

PHP在线邮件发送类,通过SMTP来发送

<?  /*  * 邮件发送类 * 作    者:多菜鸟 * 联系邮箱:kingerq AT msn DOT com * 创建时间:2005-08-19 * 注明:此类为改装过来的,忘记出处了 */class smail { //您的SMTP 服务器供应商,可以是域名或IP地址 var $smtp = "smtp.163.com";  //SMTP需要要身份验证设值为 1 不需要身份验证值为 0,现在大多数的SMTP服务商都要验证,如不清楚请与你的smtp 服务商联系. var

用c#写的smtp邮件发送类

smtp //**********************Created by Chen**************************using System;using System.IO;using System.Text;using System.Net;using System.Net.Sockets;using System.Collections;using System.Collections.Specialized;using KSN.Exceptions;using KS

PHP实现支持SSL连接的SMTP邮件发送类

 这篇文章主要介绍了PHP实现支持SSL连接的SMTP邮件发送类,实例分析了php实现smtp邮件发送类的原理与技巧,以及支持SSL连接的方法,需要的朋友可以参考下     本文实例讲述了PHP实现支持SSL连接的SMTP邮件发送类.分享给大家供大家参考.具体如下: 该实例代码测试过了gmail和QQ邮箱的SMTP.具体代码如下: 代码如下: <?php /** * 邮件发送类 * 支持发送纯文本邮件和HTML格式的邮件,可以多收件人,多抄送,多秘密抄送,带附件(单个或多个附件),支持到服务器的

PHP邮件发送类PHPMailer用法实例详解

 本文实例讲述了PHP邮件发送类PHPMailer用法,并详细讲述了其具体的操作步骤.分享给大家供大家参考.具体步骤如下: 1.在服务器安装 sendmail 1 sudo apt-get install sendmail 2.启动 sendmail 1 sudo /etc/init.d/sendmail start 3.修改 php.ini 1 2 3 4 [mail function]  SMTP = localhost  smtp_port = 25  sendmail_from = me

PHP实现支持SSL连接的SMTP邮件发送类_php技巧

本文实例讲述了PHP实现支持SSL连接的SMTP邮件发送类.分享给大家供大家参考.具体如下: 该实例代码测试过了gmail和QQ邮箱的SMTP.具体代码如下: 复制代码 代码如下: <?php /** * 邮件发送类 * 支持发送纯文本邮件和HTML格式的邮件,可以多收件人,多抄送,多秘密抄送,带附件(单个或多个附件),支持到服务器的ssl连接 * 需要的php扩展:sockets.Fileinfo和openssl. * 编码格式是UTF-8,传输编码格式是base64 * @example *

PHP邮件发送类

Swift Mailer 和前面介绍的PHPMailer一样,也是一个PHP邮件发送类.它不依赖于 PHP 自带的mail() 函数,因为该函数在发送多个邮件时占用的系统资源很高.Swift 直接与 SMTP 服务器通讯,具有非常高的发送速度和效率. phpmailer邮件找回密码 1.根据邮件找回链接进入重置密码操作页面 .仅一周内.一次有效 2.重置密码 (也可以将密码发送直接登录) 生成邮件找回邮件 用linux下安装的sendmail写了一个发送email的程序 Java代码   <?p

PHP实现发送邮件的方法(基于简单邮件发送类)_php技巧

本文实例讲述了PHP实现发送邮件的方法.分享给大家供大家参考,具体如下: 邮件发送类 <?php /*邮件发送类 *功能:使用smtp服务器发送邮件 */ class smtp { /* 全局变量 */ var $smtp_port; var $time_out; var $host_name; var $log_file; var $relay_host; var $debug; var $auth; var $user; var $pass; var $sock; /* 构造函数 */ fu