计算机网络/计算机科学与应用/系统/运维/开发

ThinkPHP5.1 PHPMailer 发送邮件

composer下载

composer require phpmailer/phpmailer


在common.php中

error_reporting(E_ALL ^ E_NOTICE);
use think\Db;
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;


/*
     *
     * 邮件发送类
     *
     * */
    function sendEmail($to,$title,$content)
    {
        $mail = new PHPMailer(true);
        try {
            //Server settings
            // $mail->SMTPDebug = 2;
            $mail->isSMTP();
            $mail->Host       = 'smtp.qq.com';  //qq邮箱的服务器地址
            $mail->SMTPAuth   = true;
            $mail->Username   = config('email.MAIL_USERNAME');//授权的qq邮箱
            $mail->Password   = config('email.MAIL_PASSWORD');//qq授权码,不是密码!!!
            $mail->SMTPSecure = 'ssl';// 使用 ssl 加密方式登录
            $mail->Port       = 465;//smtp 服务器的远程服务器端口号
            //Recipients
            $mail->setFrom(config('email.MAIL_USERNAME'), '表单');//授权的qq邮箱(和上面一样),自己起的昵称
            $mail->addAddress($to);     // 传过来的收件人
            $mail->isHTML(true);                                  // Set email format to HTML
            $mail->Subject = $title;//传过来的标题
            $mail->Body    = $content;//传过来的内容
            if ($mail->send()) {
                return json_encode(['code' => '1']);
            } else {
                return json_encode(['code' => '0']);
            }
        } catch (Exception $e) {
            Exception($mail->ErrorInfo);
        }
    }

控制器中调用

sendEmail(
                        config('email.MAIL_USERNAME'),
                        '微信端表单邮件',
                        "姓名:" . ($data['name'] ? $data['name'] : '无信息') .
                        "<br/>手机号码:" . ($data['phone'] ? $data['phone'] : '无信息') .
                        "<br/>IP:" . $data['ip'] .
                        "<br/><b>该消息来自微信小程序</b>"
);


php

人生建议:不要因为嘴硬而失去重要的东西,清醒,知趣,明得失,知进退。

评论

^