Home >PHP Framework >ThinkPHP >Detailed explanation of how TP cooperates with phpmailer to realize the function of sending emails

Detailed explanation of how TP cooperates with phpmailer to realize the function of sending emails

藏色散人
藏色散人forward
2021-11-05 14:44:582425browse

The followingthinkphp frameworktutorial column will explain how TP cooperates with phpmailer to realize the email function. I hope it will be helpful to friends in need!

TP cooperates with phpmailer to send emails

  • Find phpmailer at https://packagist.org

  • Use composer to download phpmailer Download into the project

composer require phpmailer/phpmailer
  • Add the phpmailer configuration code

//将PHPMailer类导入全局名称空间
//这些必须在脚本的顶部,而不是在函数内部
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
// Load Composer的自动加载器
function send_email($to,$subject='',$content=''){
    //实例化并传递`true`会启用异常
    $mail = new PHPMailer(true);
    //服务器设置
    try {
        //Server settings
        $mail->SMTPDebug = 2;                       //启用详细调试输出 2详细  1简单  0不显示
        $mail->isSMTP();                                            //使用SMTP
        $mail->Host       = 'smtp.qq.com';                    //将SMTP服务器设置为通过
        $mail->SMTPAuth   = true;                                   //启用SMTP验证
        $mail->Username   = '1758604817@qq.com';                     // SMTP用户名
        $mail->Password   = 'uzbslzhwjbjqejic';                     // 邮箱的授权码,不是邮箱密码
        $mail->SMTPSecure = 'ssl';        //启用TLS加密;`的PHPMailer :: ENCRYPTION_SMTPS`鼓励
        $mail->Port       = 465;                                     //要连接的TCP端口,对于上面的`PHPMailer :: ENCRYPTION_SMTPS`使用465
        //收件人
        $mail->setFrom('1758604817@qq.com', 'pigment');
        $mail->addAddress($to);     //添加收件人
//        $mail->addAddress('ellen@example.com');               //名称是可选的
//        $mail->addReplyTo('info@example.com', 'Information');
//        $mail->addCC('cc@example.com');
//        $mail->addBCC('bcc@example.com');
        //附件
//        $mail->addAttachment('/var/tmp/file.tar.gz');         //添加附件
//        $mail->addAttachment('/tmp/image.jpg', 'new.jpg');     //可选名称
        //内容
        $mail->isHTML(true);                                  //将电子邮件格式设置为HTML
        $mail->Subject = $subject;
        $mail->Body    = $content;
        return $mail->send();
    } catch (Exception $e) {
        return $mail->ErrorInfo;
    }
}

Add this method to the common file of the application , encapsulate it into a method so that it can be called anywhere

Notes

Notes Learn to troubleshoot in debug

Database Is the table name of the link problem correct?

The email authorization code and the email password are not the same thing, this is very important

Recommended: "The latest 10 thinkphp video tutorials

The above is the detailed content of Detailed explanation of how TP cooperates with phpmailer to realize the function of sending emails. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:juejin.im. If there is any infringement, please contact admin@php.cn delete