当前位置:首页 > 未分类

ThinkPHP整合PHPMailer实现QQ邮件发送

admin3年前 (2023-10-12)未分类763

邮件发送功能在项目中还是非常常用的,比如用户注册发送验证码,用户发送留言邮件,事件提醒功能等。今天我们就用thinkphp整合PHPMailer扩展来实现邮件发送功能。


1、QQ邮箱设置

        想要在第三方登录QQ邮箱发送邮件,首先得开启QQ邮箱的SMTP服务,并设置第三方登录授权码

2、下载PHPMail扩展

扩展下载地址:https://github.com/PHPMailer/PHPMailer

        在下载的文件的解压缩包中只有这几个文件是我们需要的:Exception.php,PHPMailer.php,POP3.php,SMTP.php

3、将PHPMail扩展放到我们的Thinkphp5项目中

        在 extend 下新建一个文件夹 PHPMailer,将第二步提到的4个php文件放到 PHPMailer 文件夹内,并将这4个php文件的命名空间都改成

namespace PHPMailer;

4、开始代码实现发送邮件

        PHPMail扩展放入项目后就可以开始写代码实现邮件发送功能了

【开发中的坑】

如果遇到 Extension missing: openssl 问题,这是因为php的openssl扩展没开启,在php.ini配置文件中开启 它,然后重启服务器。

如果遇到 SMTP connect() failed ,账号登录失败的原因,检查下发件人的邮箱账号和授权码是否设置正确。


        PHPMail发送邮件的流程大致就是这样的,在实际项目中可能会有多处需要发送邮件,因此我们可以把它封装成一个在整个项目流程中都能调用到的方法,然后把可能变动的信息设置成参数,在需要发送邮件的地方,只需调用这个发送邮件的方法并传入相关参数即可。

原文地址:https://www.xinyueseo.com/other/427.html。侵权联删。

扫描二维码推送至手机访问。

版权声明:本文由服务端开发技术分享发布,如需转载请注明出处。

本文链接:https://www.htmlcms.cn/?id=4

分享给朋友:

相关文章

数据库--MySQL:Failed to start LSB: start and stop MySQL.

mysql 启动失败Failed to start LSB: start and stop MySQL.Starting MySQL....The server quit without updating PID file (……查看错误日…

MySQL 中 where in 长度过长的解决方法

在使用MySQL数据库时,我们经常会使用 where in 语句来查询一组特定的值,例如:SELECT * FROM students WHERE id IN (1,&n…

laravel 安装

laravel 安装

一、laravel 安装1、laravel 最新版本安装composer global require "laravel/installer"  #使用Composer下…

thinkphp升级后报错Declaration of think\app\Url::build() must be compatible with think\route\Url::build()

1. 出现这个错误的原因是,你通过命令“composer update topthink/framework”只升级了框架,没有更新多应用扩展模块。2. 只需要composer运行下面代码更新多应用扩展模块到最新版后即可…

thinkphp前后端分离,如何使用think-captcha?

  captcha配置文件增加 'api' => true,。。如果是单应用,增加全局的captcha配置文件中,如果是多应用,复制全局captcha配置文件到对应应用的config目录,然后增加或只保留 &…

curl网页采集相关

 Accept-Encoding需要单独设置,不能放在header里,对应curl 的CURLOPT_ENCODING属性。。如果采集到的网页是乱码,可以设置这个为gzip,deflate试试…