1、使用composer 工具安装,在tp5根目录下执行 默认使用1.0版本
composer require phpmailer/phpmailer
安装成功后显示下面目录
2、封装发送邮件方法
我放置在了extra文件夹内
function sendEmail($to, $title, $content){ $email=[ "send_email"=>"111113@qq.com", //这里是一个 发邮件用的邮箱 需要设置smtp相关 "host"=>"smtp.qq.com", "pwd"=>"xxxxxxxxxxxxxxx", //这里是邮箱的授权码,QQ邮箱为例, 在设置里面可设置 "encry_type"=> "ssl", "port"=>465, "send_name"=>"测试", "title"=>"QQ邮箱" ]; try { $mail = new PHPMailerPHPMailerPHPMailer(true); $mail->isSMTP(); $mail->Host = $email['host']; //qq邮箱的服务器地址 $mail->SMTPAuth = true; $mail->Username = $email['send_email'];//授权的qq邮箱 $mail->Password = $email['pwd'];//授权码,不是密码!!! $mail->SMTPSecure = $email['encry_type'];// 使用 ssl 加密方式登录boolean $mail->Port = $email['port'];//smtp 服务器的远程服务器端口号 //Recipients $mail->setFrom($email['send_email'], $email['send_name']);//授权的qq邮箱(和上面一样),自己起的昵称 $mail->addAddress($to); // 传过来的收件人 $mail->isHTML(true); // Set email format to HTML $mail->Subject = $title;//传过来的标题 $mail->Body = $content;//传过来的内容 if($mail->send()){ return return_msg(); }else{ return return_msg(-1,"error"); } } catch (PHPMailerPHPMailerException $e) { return return_msg(-1,$mail->ErrorInfo); } } function return_msg($status=1,$msg="ok",$data=[]){ return [ "status" => $status, "msg" => $msg, "data" => $data, ]; }
控制器里面的代码
public function index(){ $str="这是测试内容"; $title="这是测试邮件"; $sendEmail="23423423@qq.com";//接受人 $res=sendEmail($sendEmail,$title,$str); var_dump($res);exit(); }
之后访问控制器测试, 成功