zoukankan      html  css  js  c++  java
  • thinkphp引入phpmailer发送邮件

    在tp系统文件下的Extend->Vendor->Zend下放置phpmailer文件包,并把phpmailer类改名。

    看目录:

    然后参考tp手册:

    so...我的导入方法代码为:

    Vendor('Zend.PHPMailer.classphpmailer');

    完整的邮件发送代码:

    首先是发送方法:

    public function sendmail($sendto_email, $user_name, $subject, $bodyurl)
        {
            Vendor('Zend.PHPMailer.classphpmailer');
            $mail = new PHPMailer();
            $mail->IsSMTP();                  // send via SMTP    
             
            $mail->Host = "你的邮件服务域名";   // SMTP servers    
            $mail->SMTPAuth = true;           // turn on SMTP authentication    
            $mail->Username = "XXXX";     // SMTP username  注意:普通邮件认证不需要加 @域名    
            $mail->Password = "******"; // SMTP password    
            $mail->From = "axx@xxx.com";      // 发件人邮箱    
            $mail->FromName = "管理员";  // 发件人    
    
            $mail->CharSet = "utf-8";   // 这里指定字符集!    
            $mail->Encoding = "base64";
            $mail->AddAddress($sendto_email, $user_name);  // 收件人邮箱和姓名    
            $mail->SetFrom('axx@xxx.com', 'XXXXXXX有限公司');
    
            $mail->AddReplyTo("axx@xxx.com", 'xxxxxxxx有限公司');
            //$mail->WordWrap = 50; // set word wrap 换行字数    
            //$mail->AddAttachment("/var/tmp/file.tar.gz"); // attachment 附件    
            //$mail->AddAttachment("/tmp/image.jpg", "new.jpg");    
            $mail->IsHTML(true);  // send as HTML    
            // 邮件主题    
            $mail->Subject = $subject;
            // 邮件内容    
            $mail->Body = '<html><head>   
    <meta http-equiv="Content-Language" content="zh-cn"/>   
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>   
    </head>   
    <body> 
    <div style="60%;padding:30px 20px;background:#F9F9F9;">
    <span style="font-weight:bold;font-size:16px;">Hi,' . $user_name . '</span><br/>
    欢迎您注册<b>XXX公司网站</b><br/>
    请点击下面的连接完成注册(有效期一小时):<br/>
    ' . $bodyurl . '<br/>
    <font style="color:#999;">如果以上链接无法点击,请将上面的地址复制到你的浏览器(如IE)的地址栏完成激活</font><br/>
    http://www.XXX.com
    </div>
    </body> 
    
    </html>   
    ';
            $mail->AltBody = "text/html";
            
            if (!$mail->Send())
            {
                  $mail->ClearAddresses();
                echo "邮件错误信息: " . $mail->ErrorInfo;
                exit;
            }
            else
            {
                 $mail->ClearAddresses();
               // $this->assign('waitSecond', 6);
    //            $this->success("注册成功,系统已经向您的邮箱:{$sendto_email}发送了一封激活邮件!请您尽快激活~~<br />");
                $this->redirect('sendhtml', array('send' => 5,'email'=>$sendto_email));
            }
        }

    其次调用发送方法:

    $this->sendmail($_POST['email'], $_POST['nickname'], $subject, $bodyurl);
  • 相关阅读:
    解决本地浏览器的跨域问题
    页面嵌入iframe关于父子传参调用
    仿微信、qq聊天,@好友功能
    创建新react项目 运行npm start 报错踩过的坑
    前端向后端获取数据的三种方法:ajax、axios、fetch
    观察者模式代码详解
    代理模式实现图片预加载、懒加载
    网站登录注册-Session 和token的总结
    浅谈MVC、MVVM的区别
    vue中methods、computed、watch区别
  • 原文地址:https://www.cnblogs.com/wenzichiqingwa/p/2956168.html
Copyright © 2011-2022 走看看