当前位置:首页 > 未分类

ThinkPHP整合PHPMailer实现QQ邮件发送

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

邮件发送功能在项目中还是非常常用的,比如用户注册发送验证码,用户发送留言邮件,事件提醒功能等。今天我们就用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

分享给朋友:

相关文章

PHP去除数组中的 0

1. 使用array_filter()函数$array = [1, 0, 2, 0, 3, 0]; $array = array_filter($a…

MySQL 3个字段作为一个字段输出

在MySQL中,如果你想将3个字段合并成一个字段输出,可以使用CONCAT()函数或者CONCAT_WS()函数。这两个函数都可以用来连接字符串,但CONCAT_WS()允许你指定一个分隔符。1. 使用CONCAT() CONCAT()函数…

laravel 安装

laravel 安装

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

thinkphp6 多应用模式下,多个应用都需要使用图片验证码时,会共用验证码,让每个应用使用自己的验证码

1. 关闭框架层的中间件中的默认会话初始化;2. 给各个应用的中间件开启(增加)会话初始化;3. 会话初始化需要 开启/关闭 的中间件:\think\middleware\SessionInit::class。…

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

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