ThinkPHP 3.2使用PHPMailer发送邮件

时间:2022-03-17 07:43:26

首先你需要下载最新版的phpmailer,然后添加至TP的第三方类库包目录,如下图

ThinkPHP 3.2使用PHPMailer发送邮件

第二步

在config.php添加如下代码。这样就可以让第三步的函数获取phpmailer的配置信息

  1.  
  2. <?php
  3. return array(
  4. // 配置邮件发送服务器
  5. 'MAIL_HOST' =>'smtp.exmail.qq.com',
  6. 'MAIL_SMTPAUTH' =>TRUE, //启用smtp认证
  7. 'MAIL_USERNAME' =>'root@cnsecer.com',
  8. 'MAIL_FROM' =>'root@cnsecer.com',
  9. 'MAIL_FROMNAME' =>'cnsecer',
  10. 'MAIL_PASSWORD' =>'********',
  11. 'MAIL_CHARSET' =>'utf-8',
  12. 'MAIL_ISHTML' =>TRUE, // 是否HTML格式邮件
  13. );
  14. ?>
  15.  
  16. 第三步

    然后就该引入这个类库了,在 Application/common新建一个function.php,然后添加下面这个函数

    1.  
    2. /**
    3. * 邮件发送函数
    4. */
    5. function sendMail($to, $subject, $content) {
    6.  
    7. Vendor('PHPMailer.PHPMailerAutoload');
    8.  
    9. $mail = new PHPMailer(); //实例化
    10. $mail->IsSMTP(); // 启用SMTP
    11. $mail->Host=C('MAIL_HOST'); //smtp服务器的名称(这里以126邮箱为例)
    12. $mail->SMTPAuth = C('MAIL_SMTPAUTH'); //启用smtp认证
    13. $mail->Username = C('MAIL_USERNAME'); //你的邮箱名
    14. $mail->Password = C('MAIL_PASSWORD') ; //邮箱密码
    15. $mail->From = C('MAIL_FROM'); //发件人地址(也就是你的邮箱地址
    16. $mail->FromName = C('MAIL_FROMNAME'); //发件人姓名
    17. $mail->AddAddress($to,"name");
    18. $mail->WordWrap = 50; //设置每行字符长度
    19. $mail->IsHTML(C('MAIL_ISHTML')); // 是否HTML格式邮件
    20. $mail->CharSet=C('MAIL_CHARSET'); //设置邮件编码
    21. $mail->Subject =$subject; //邮件主题
    22. $mail->Body = $content; //邮件内容
    23. $mail->AltBody = "This is the body in plain text for non-HTML mail clients"; //邮件正文不支持HTML的备用显示
    24. if(!$mail->Send()) {
    25. echo "Message could not be sent. <p>";
    26. echo "Mailer Error: " . $mail->ErrorInfo;
    27. exit();
    28. } else {
    29. echo "Message has been sent";
    30. }
    31. }
    32.  
    33. 最后

      在任意地方调用下面函数,就可收到邮件

      1.  
      2. sendMail("123456@qq.com","标题","内容");
      3.  

      ThinkPHP 3.2使用PHPMailer发送邮件

    34. 相关文件下载http://pan.baidu.com/s/1mg9ILM4