tp5整合phpmailer发送邮件
HTML 页面代码,
<form action="{:url('控制器文件/文件方法')}" method="post" enctype="multipart/form-data"><!-- 上传文件必须要带enctype --> 收件人邮箱:<input type="text" name="mail"/> 标题:<input type="text" name="title"/> 内容<input type="text" name="content"/> <input class="button" type="submit" value="发送"/> </form>
后面在编写控制器的时候我们需要找打邮箱的插件,下面提供一个插件是已经测试可以正常使用的
链接:https://pan.baidu.com/s/1jpSBgqYXLj9mUbCQRCW_zA
提取码:6666
我们把插件放在extend第三方类库下面

放入之后我们在控制器方法里面要引入箭头指向的文件,这个插件可以自动匹配到上方的class.smtp.php 和 class.phpmailer.php 两个文件 相当于说是整合了
<?php namespace app\index\controller; use think\Controller; use think\Db; use PHPMailer\PHPMailer; class Email extends Controller { public function index() { return $this->fetch('index'); // iviwbivsydxpbeeb } public function emails(){ // 收件人 $mail=input("mail"); // 标题 $title=input("title"); // 内容 $content=input("content"); require_once("../extend/PHPMailer/PHPMailerAutoload.php");//这里是引入第三方文件 相对于这个地方我们要细心路劲问题可能会存在坑🤭 $toemail = $mail;//这里写的是收件人的邮箱 $mail=new \Phpmailer(); //在引入文件,实例化对象方法的时候需要带上反斜线 这点需要注意
$mail->isSMTP();// 使用SMTP服务(发送邮件的服务) $mail->CharSet = "utf8";// 编码格式为utf8,不设置编码的话,中文会出现乱码 $mail->Host = "smtp.qq.com";// 发送方的SMTP服务器地址 $mail->SMTPAuth = true;// 是否使用身份验证 $mail->Username = "**********@qq.com";// 申请了smtp服务的邮箱名(自己的邮箱名) $mail->Password = "在QQ邮箱申请的密钥";// 发送方的邮箱密码,不是登录密码,是qq的第三方授权登录码,要自己去开启(之前叫你保存的那个密码) $mail->SMTPSecure = "ssl";// 使用ssl协议方式, $mail->Port = 465;// QQ邮箱的ssl协议方式端口号是465/587 $mail->setFrom("发件人@qq.com","姓名");// 设置发件人信息,如邮件格式说明中的发件人, $mail->addAddress($toemail,'');// 设置收件人信息,如邮件格式说明中的收件人 $mail->addReplyTo("xxxxxx@qq.com","Reply");// 设置回复人信息,指的是收件人收到邮件后,如果要回复,回复邮件将发送到的邮箱地址 $mail->Subject = "这是一个测试邮件";// 邮件标题 $mail->Body = "验证码:666";// 邮件正文 if(!$mail->send()){// 发送邮件 echo "Message could not be sent."; echo "Mailer Error: ".$mail->ErrorInfo;// 输出错误信息 }else{ echo ''; return '发送成功'; } } }

浙公网安备 33010602011771号