一步:安装邮件拓展
composer require phpmailer/phpmailer
二步:在common.php中配置
function send_mail($tomail, $name, $subject = '', $body = '', $attachment = null) { $mail = new PHPMailerPHPMailerPHPMailer(); //实例化PHPMailer对象 $mail->CharSet = 'UTF-8'; //设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码 $mail->IsSMTP(); // 设定使用SMTP服务 $mail->SMTPDebug = 0; // SMTP调试功能 0=关闭 1 = 错误和消息 2 = 消息 $mail->SMTPAuth = true; // 启用 SMTP 验证功能 $mail->SMTPSecure = 'ssl'; // 使用安全协议 $mail->Host = "smtp.qq.com"; // SMTP 服务器 $mail->Port = 465; // SMTP服务器的端口号 $mail->Username = "***@qq.com"; // SMTP服务器用户名 $mail->Password = "****"; // SMTP服务器密码,回返给你 $mail->SetFrom('XXXXXXX@qq.com', '发送人的名称'); $replyEmail = ''; //留空则为发件人EMAIL $replyName = ''; //回复名称(留空则为发件人名称) $mail->AddReplyTo($replyEmail, $replyName); $mail->Subject = $subject; $mail->MsgHTML($body); $mail->AddAddress($tomail, $name); if (is_array($attachment)) { // 添加附件 foreach ($attachment as $file) { is_file($file) && $mail->AddAttachment($file); } } return $mail->Send(); }
三步:在控制器直接用,无需引用
//收件人的邮箱 $toemail='XXX@qq.com'; //收件人的名称 $name='XXX'; $subject='QQ邮件发送测试'; $code = mt_rand(100000, 999999); session("code",$code); $content='欢迎使用,你的验证码为'.$code; $rs=send_mail($toemail,$name,$subject,$content); dump($rs);die;
返回结果 true 已发送 false 发送失败
需要开启QQ邮箱的服务 ,php.ini配置文件 extension=php_openssl.dll