• ThinkPHP发送邮件以及PHPCMS之中如何引入第三方类库


    引入类文件:PHPMailer.class.php

    里面有个require下面这个类文件的,你需要写对路径哟  

        SMTP.class.php

    在控制器之中写调用方法:

     1 function SendEmail($email,$title,$content)
     2 {
     3   import('Com.PHPMailer');
     4   $mail = new \PHPMailer();
     5   $title = "密码找回";
     6   $content = "亲爱的用户 ".$username.":您好!
     7       <br>
     8       <br>
     9         您收到这封这封电子邮件是因为您 (也可能是某人冒充您的名义) 申请了一个新的密码。假如这不是您本人所申请, 请不用理会这封电子邮件, 但是如果您持续收到这类的信件骚扰, 请您尽快联络管理员。
    10       <br>";
    11   $mail->IsSMTP();                           // tell the class to use SMTP
    12   $mail->SMTPAuth   = true;                  // enable SMTP authentication
    13   $mail->Port       = 25;                    // set the SMTP server port
    14   $mail->Host       = "***.163.com"; // SMTP server   服务器地址
    15   $mail->Username   = "***@163.com";     // SMTP server username
    16   $mail->Password   = "tbamiabtpcgyurqo";            // SMTP server password 注意,这个是邮箱申请邮箱SMTP开启时候得到的密码,不是你的QQ邮箱或者什么163的登录密码
    17   //$mail->IsSendmail();  // tell the class to use Sendmail
    18   $mail->AddReplyTo("***@163.com","test网");  //回复人收件人别名
    19   $mail->From       = "***@163.com";    //发件人
    20   $mail->FromName   = "test";   //发件人别名
    21   $mail->Subject  = $title;     // 邮件标题
    22   $mail->AltBody    = $title; // optional, comment out and test
    23   $mail->WordWrap   = 80; // set word wrap
    24   $mail->MsgHTML($content);
    25   $mail->IsHTML(true); // send as HTML
    26   $mail->AddAddress($email);
    27   if($mail->Send()){
    28     return true;
    29   }else{
    30     return false;
    31   }
    32 }

     兄弟,给你看看效果图:

    注意:在PHPCMS之中:

    如何引用这两个类文件呢?如何获取错误信息呢?如何调用方法呢?

    首先呢,错误信息在这儿,有日志记录;

    类文件呢直接放在这儿,里面的不需要什么命名空间的,直接就是class{}反正上面的直接放在这儿就行了,只是在PHPMailer类文件里面有个引用下面smtp类文件的代码(就一句),需要用到PHPCMS提供的特定的引用方法;

    1  protected function SmtpSend($header, $body) {
    2     //require_once $this->PluginDir . 'class.smtp.php';
    3     pc_base::load_sys_class('smtp');
    4     $bad_rcpt = array();

    这个是PHPCMS扩展方法的位置;(如何写上面有截图);

    调用呢?在做欧式项目的时候是在表单提交成功之后添加邮件提醒:

    所以呢,当然是找到表单提交成功后调用的方法啦,然后直接加上  functionname($str);这就够了

    根据URL可以找到(模块-控制器-方法)

    就是在这儿调用并且传参就可以了

    还有如何检测是否存在类文件的方法呢?(用于检测引入类文件是否成功)

     SMTP\PHPMailer.php

  • 相关阅读:
    005. Asp.Net Routing与MVC 之三: 路由在MVC的使用
    004. Asp.Net Routing与MVC 之二: 请求如何激活Controller和Action
    001. Asp.Net Routing与MVC 之(基础知识):URL
    002. Asp.Net Routing与MVC 之(基础知识):HttpModule 与 HttpHandler
    003. Asp.Net Routing与MVC 之一: 请求如何到达MVC
    Factory
    decorator
    Java 单例真的写对了么?
    Dubbo Jackson序列化使用说明
    使用JavaConfig方式配置dubbox
  • 原文地址:https://www.cnblogs.com/xuweiqiang/p/5957385.html
Copyright © 2020-2023  润新知