zoukankan      html  css  js  c++  java
  • PHP_thinkphp框架使用PHPMailer实现发送邮件的功能(转+修改+亲测)

     

    第一步、添加PHPMailer类库

      将下载后的文件解压,将PHPMail目录移动至ThinkPHP目录中的Vendor内。(在核心文件里面,建个文件夹名称为phpmailer

    第二步、添加发送邮件函数

      在项目目录中的Common文件夹中的common.php文件(也是在核心文件里面的common,或者你喜欢放哪里就哪里,能调用就行)添加如下代码:

    <?php

    /**
    * 邮件发送函数
    */
    function SendMail($address,$title,$message) {

    vendor('phpmailer.class#phpmailer');

    $mail = new PHPMailer(true); //实例化PHPMailer类,true表示出现错误时抛出异常
    $mail->IsSMTP(); // 使用SMTP
    try {
    $mail->CharSet ="UTF-8";//设定邮件编码
    $mail->Host = "smtp.163.com"; // SMTP server
    $mail->SMTPDebug = 1;// 启用SMTP调试 1 = errors 2 = messages
    $mail->SMTPAuth = true;// 服务器需要验证
    $mail->Port = 25;//默认端口
    $mail->Username = "aizhu@163.com"; //SMTP服务器的用户帐号
    $mail->Password = "******";//SMTP服务器的用户密码(授权秘密不是登陆秘密,艹)
    $mail->AddReplyTo('aizhu@163.com', '回复'); //收件人回复时回复到此邮箱
    //$mail->AddAddress($address, '李明');

    //收件人如果多人发送循环执行AddAddress()方法即可 还有一个方法时清除收件人邮箱ClearAddresses()
    foreach ($address as $key => $value) {
    $mail->AddAddress($value['mail_address'], $value['username']);
    }

    $mail->SetFrom('aizhu@163.com', '发件人');//发件人的邮箱
    $mail->Subject = $title;
    $mail->Body = $message;
    $mail->IsHTML(true);
    $mail->Send();
    echo "Message Sent OK";
    } catch (phpmailerException $e) {
    echo $e->errorMessage();//从PHPMailer捕获异常
    } catch (Exception $e) {
    echo $e->getMessage();
    }
    }

    ?>

     

    第三步、在Action中发送邮件

      由于ThinkPHP会自动加载common.php中的函数,所以在需要发送邮件的时候,只需要使用如下代码即可。

    SendMail("xxx@xxx.com","邮件标题","邮件正文");

    注意:现在的邮箱为了安全什么的都是默认关闭了stmp,需要在设置那里开启,比如163的授权。

    当你一步一个脚印的走过
  • 相关阅读:
    管理者的主要任务是什么?
    管理者的最基本职责是什么?
    管理者的两大职责:“管事”和“理人”
    最近的思考
    刨根问底Objective-C Runtime
    Objective-C 中的类和对象
    ios动态添加属性的几种方法
    多态 oc c++ 与oc category
    利用Objective-C运行时hook函数的三种方法
    Hook技术
  • 原文地址:https://www.cnblogs.com/Alviss/p/4555225.html
Copyright © 2011-2022 走看看