thinkphp使用phpmailer发送邮件的方法

本文实例讲述了thinkphp使用phpmailer发送邮件的方法。分享给大家供大家参考。具体分析如下:

phpmailer发送邮件是php开发者首选的一个邮件发送插件了,下面我来介绍怎么集成phpmailer到thinkphp框架了,感兴趣的朋友可以参考一下。

phpmailer发送邮件功能很强大,今天真正的体验一下,这里先简单说一下配置,本人是在thinkphp中使用的.

配置步骤:

1.后台配置发送邮件类,位置admin/common/common.php中,代码如下:

代码如下:

function sendmail($tomail,$title,$content) 

/*邮件设置信息*/ 
        $email_set = C('EMAIL_SET'); 
        Vendor('phpmailer.class#phpmailer'); 
        Vendor("phpmailer.class#smtp"); //可选,否则会在class.phpmailer.php中包含 
         
        $mail = new PHPMailer(true); //实例化PHPMailer类,true表示出现错误时抛出异常 
         
        $mail->IsSMTP(); // 使用SMTP 
          $mail->CharSet ="UTF-8";//设定邮件编码 
          $mail->Host       = $email_set['Host']; // SMTP server 
          $mail->SMTPDebug  = 1;                     // 启用SMTP调试 1 = errors  2 =  messages 
          $mail->SMTPAuth   = true;                  // 服务器需要验证 
          $mail->Port       = $email_set['port'];                    // 设置端口 
         // $mail->SMTPSecure = "ssl";      
            /* 
            $mail->SMTPSecure = "ssl";                  
            $mail->Host       = "smtp.gmail.com";      
            $mail->Port       = 465;                   
            */ 
         
          $mail->Username   = $email_set['email_user']; //SMTP服务器的用户帐号 
          $mail->Password   = $email_set['email_pwd'];       //SMTP服务器的用户密码 
          $mail->AddReplyTo($email_set['email'],$email_set['email_name']); //收件人回复时回复到此邮箱,可以多次执行该方法 
          if (is_array($tomail)){ 
              foreach ($tomail as $m){ 
                   $mail->AddAddress($m, 'user');  
              } 
          }else{ 
              $mail->AddAddress($tomail, 'user'); 
          } 
          
          $mail->SetFrom($email_set['email'],$email_set['email_name']); 
        // $mail->AddAttachment('./img/phpmailer.gif');      // 添加附件,如果有多个附件则重复执行该方法 
          $mail->Subject = $title; 
         
          //以下是邮件内容相关 
          $mail->Body = $content; 
          $mail->IsHTML(true); 
         
          //$body = file_get_contents('tpl.html'); //获取html网页内容 
         // $mail->MsgHTML(eregi_replace("[]",'',$body));

return $mail->Send()? true:false; 
}

2:配置文件中配置参数,代码如下:

代码如下:

/*邮件设置*/ 
    'EMAIL_SET'=>array( 
       'Host'=> "smtp.163.com", 
       'Port'=>'25', 
       'email_user'=>'liuying', 
       'email_pwd'=>'123456', 
       'email'=>'jb51@163.com', 
       'email_name'=>'jb51我们', 
)

3.测试发送代码,代码如下:

代码如下:

sendmail('11234@126.com','您好','这里是内容');

希望本文所述对大家的PHP程序设计有所帮助。

(0)

相关推荐

  • phpmailer在服务器上不能正常发送邮件的解决办法

    phpmailer本身是一个很不错的开源邮件类,也非常的易用简单,就是偶尔会出现程序上传到服务器上不能发送邮件的情况,在之前也有同学问过我这个问题,当时的时候总是不以为然,今天终于让我碰上了,用phpmailer 在本地测试正常,上传到服务器上就不行了,当然了是用的SMTP方式,最终确定是fsockopen 函数惹的祸,因为安全原因fsockopen 和pfsockopen 经常被服务器端关闭.解决方法如下: 而代之的应该是 stream_socket_client()函数,不过他的参数有一点不

  • phpmailer简单发送邮件的方法(附phpmailer源码下载)

    本文实例讲述了phpmailer简单发送邮件的方法.分享给大家供大家参考,具体如下: 首先,点击此处本站下载相应的php文件. 解压后有2个php文件(2个类)  1个html文件(API) 将2个php文件放到php项目中 简述:我这里是用一个163的邮箱发消息给126的邮箱 关键代码如下: <?php require 'class.phpmailer.php'; $mail = new PHPMailer(true); //建立邮件发送类 $mail->CharSet = "UT

  • Linux服务器下PHPMailer发送邮件失败的问题解决

    需求 更换服务器之后,我发现我的发送邮件功能失效了!原来的服务器是可以的,一定是哪里出问题了,决定来排查一下.我是用的PHPMailer,SMTP方式发送邮件的. 排查过程 这种方式首先PHP要开启sockets拓展,查了一下phpinfo页面,是开启的: 看了一下openssl也是开启(因为拿了qq邮箱来测),所以没问题: 那就再看一下allow_url_fopen,开启的,没问题: 是不是禁用了函数?没有禁用,没问题: 那配置上就没有问题了,我就想,是不是端口被占用了? 运行一下:netst

  • phpmailer发送邮件功能

    PHP内置的mail函数使用起来不够方便,另外受其他语言的影响,博主更偏好面向对象的包管理模式,因此phpmailer成为了我用PHP发送邮件的首选,这里分享给大家. 库导入 这里使用composer进行包管理,以下是json文件: { "name": "", "description": "test the mail", "require": { "PHPMailer/PHPMailer&quo

  • PHP使用PHPMailer发送邮件的简单使用方法

    最近需要用到发送邮件的功能,原本是用PHP自带的mail()函数发送的.php mail()这个方法非常简单.方便.易用,但是除了网易邮箱.QQ邮箱.GMAIL邮箱等常用的邮箱可以收到之外,经测试HOTMAIL.TOM.LIVE等邮箱是收不到此类邮件的.所以就转而使用PHPMailer这个强大的邮件发送类.使用官方自带的一些例子,有些会报 Mailer Error: Could not instantiate mail function. 这个错误.参考了一些资料之后,还是自己写了一个方法.代码

  • php多种形式发送邮件(mail qmail邮件系统 phpmailer类)

    1. 使用 mail() 函数 没什么好讲的,就是使用系统自带的smtp系统来发送,一般是使用sendmail来发.这个按照各个系统不同而定.使用参考手册. 2. 使用管道的形式 昨天刚测试成功,使用本地的qmail来发送邮件. 复制代码 代码如下: /* 使用qmail发送邮件函数 */  function send_check_mail($email, $subject,$uid,$buffer)  {   $command =  "/var/qmail/bin/qmail-inject &

  • phpmailer发送邮件之后,返回收件人是否阅读了邮件的方法

    很多人在使用phpmailer发送邮件之后,都想知道对方是否阅读了邮件?通常来说,这个我们是无法知道的,那么有没有办法呢? 对于这个问题有一个简单的解决方法,我们知道,邮件内容可以以html 的形式发送,我们可以在内容中插入图片,那么关键就在这个图片里面了. 假设我们的邮件内容是这样的: 文件content.php代码如下: <table width="555" height="50" border="0" align="cent

  • PHPMailer邮件类利用smtp.163.com发送邮件方法

    第一步:需要下载PHPMailer文件包phpmailer-1.73.tar.gz 来自开源社区: http://phpmailer.sourceforge.net/ 第二步:确认你的服务器系统已经支持socket 如下图,通过phpinfo();查看是否支持sockets 如果没有这一项就请注意: socket 是属于PHP扩展部分,编译时必须给定一个用于./configure --enable-sockets 的配置选项. 第三步:把文件解压到你的web服务器目录下,调用类就可以了,说明:首

  • PHPMailer使用教程(PHPMailer发送邮件实例分析)

    php虽然提供了mail()函数,但并不好用,而PHPMailer是一个不错的邮件发送工具,使用起来也是非常简单! 使用PHPMailer发送邮件: 复制代码 代码如下: <?php header("content-type:text/html;charset=utf-8"); ini_set("magic_quotes_runtime",0); require 'class.phpmailer.php'; try { $mail = new PHPMaile

  • PHP借助phpmailer发送邮件

    本地没有发邮件的服务器,借助现成的SMTP服务器发送邮件是个不错的选择,这里使用到的工具是phpmailer ( Version 5.2.0),SMTP服务器就选gmail和163. 1. 使用gmail发送的脚本 include("class.phpmailer.php"); include("class.smtp.php"); //获取一个外部文件的内容 $mail = new PHPMailer(); $body = file_get_contents('co

随机推荐