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 '发送成功'; } } }
复制代码

 

posted @   热心居民  阅读(118)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示