• 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的授权。

    当你一步一个脚印的走过
  • 相关阅读:
    协议
    网页制作
    知识点--------二维数组
    方法---------拖延,清屏,前景色,背景色
    小知识点------遍历数组、switch case、do while
    知识点-----------函数
    循环经典--------冒泡排序,查找。
    知识点-------一维数组
    循环语句-----经典案例
    知识点--循环语句
  • 原文地址:https://www.cnblogs.com/Alviss/p/4555225.html
Copyright © 2020-2023  润新知