当前位置:首页 > 未分类 > 正文内容

ThinkPHP整合PHPMailer实现QQ邮件发送

admin2年前 (2023-10-12)未分类510

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

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

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()函数...

git报错: fatal: bad object HEAD

一般问题原因:.git内文件有问题,比如误删除了一些文件(我就是因为.git\objects\pack文件夹过大,删除了这个文件夹)。处理建议: 在其他盘符或文件夹把项目拉下来,然后复制.git文件夹到要操作的文件夹覆盖,然后继续...