phpmailer + QQ邮箱发送自定义邮件(验证码邮件、报警邮件)

2023-10-09 08:59

本文主要是介绍phpmailer + QQ邮箱发送自定义邮件(验证码邮件、报警邮件),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 需求场景
  • 准备数据
  • 使用方法
    • 第一步
    • 第二步
    • 第三步

需求场景

  最近在开发中想用短信验证码这个功能,又不想花钱;所以想到了邮件发送验证码;白嫖万岁!

准备数据

  一个用来发送邮件的QQ邮箱,其他邮箱是否可以我没试过哈。同时要获取到QQ邮箱的授权码;

使用方法

第一步

获取QQ邮箱授权码,后面程序中要用;登录网页版QQ邮箱
在这里插入图片描述
点击设置,然后点击账户
在这里插入图片描述
向下拉找到这个位置,点击开启
在这里插入图片描述
选择合适的方式进行验证
在这里插入图片描述
成功获取
在这里插入图片描述

第二步

composer安装依赖phpmailer

composer require phpmailer/phpmailer

第三步

编写底层发送邮件的方法,上代码

public static function sendEamil($email, $subject, $content)
{$mail = new PHPMailer();//是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式
//        $mail->SMTPDebug = 1;//使用smtp鉴权方式发送邮件$mail->isSMTP();//smtp需要鉴权 这个必须是true$mail->SMTPAuth = true;//链接qq域名邮箱的服务器地址$mail->Host = 'smtp.qq.com';//设置使用ssl加密方式登录鉴权$mail->SMTPSecure = 'ssl';//设置ssl连接smtp服务器的远程服务器端口号,以前的默认是25,但是现在新的好像已经不可用了 可选465或587$mail->Port = 465;//设置发件人的主机域 可有可无 默认为localhost 内容任意,建议使用你的域名$mail->Hostname = '';//设置发送的邮件的编码 可选GB2312  据说utf8在某些客户端收信下会乱码$mail->CharSet = 'UTF-8';//设置发件人姓名(昵称) 任意内容,显示在收件人邮件的发件人邮箱地址前的发件人姓名;这个字段好像废弃了,使用setFrom代替了
//        $mail->FromName = ;//smtp登录的账号 这里填入字符串格式的qq号即可$mail->Username = '';//smtp登录的密码 使用生成的授权码,上一步拿到的授权码$mail->Password = '';//设置发件人邮箱地址,与发件人名称 这里填入上述提到的“发件人邮箱”$mail->setFrom('111111111@qq.com','我是土豆');//邮件正文是否为html编码 注意此处是一个方法 不再是属性 true或false$mail->isHTML(true);//设置收件人邮箱地址 该方法有两个参数 第一个参数为收件人邮箱地址 第二参数为给该地址设置的昵称 不同的邮箱系统会自动进行处理变动 这里第二个参数的意义不大$mail->addAddress($email);//添加该邮件的主题$mail->Subject = $subject;//添加邮件正文 上方将isHTML设置成了true,则可以是完整的html字符串 如:使用file_get_contents函数读取本地的html文件$mail->Body = $content;$status = $mail->send();if ($status) {echo '发送成功';} else {echo '发送失败';}
}

这篇关于phpmailer + QQ邮箱发送自定义邮件(验证码邮件、报警邮件)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/171749

相关文章

Java发送SNMP至交换机获取交换机状态实现方式

《Java发送SNMP至交换机获取交换机状态实现方式》文章介绍使用SNMP4J库(2.7.0)通过RCF1213-MIB协议获取交换机单/多路状态,需开启SNMP支持,重点对比SNMPv1、v2c、v... 目录交换机协议SNMP库获取交换机单路状态获取交换机多路状态总结交换机协议这里使用的交换机协议为常

C#中通过Response.Headers设置自定义参数的代码示例

《C#中通过Response.Headers设置自定义参数的代码示例》:本文主要介绍C#中通过Response.Headers设置自定义响应头的方法,涵盖基础添加、安全校验、生产实践及调试技巧,强... 目录一、基础设置方法1. 直接添加自定义头2. 批量设置模式二、高级配置技巧1. 安全校验机制2. 类型

SpringBoot AspectJ切面配合自定义注解实现权限校验的示例详解

《SpringBootAspectJ切面配合自定义注解实现权限校验的示例详解》本文章介绍了如何通过创建自定义的权限校验注解,配合AspectJ切面拦截注解实现权限校验,本文结合实例代码给大家介绍的非... 目录1. 创建权限校验注解2. 创建ASPectJ切面拦截注解校验权限3. 用法示例A. 参考文章本文

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

使用Python的requests库来发送HTTP请求的操作指南

《使用Python的requests库来发送HTTP请求的操作指南》使用Python的requests库发送HTTP请求是非常简单和直观的,requests库提供了丰富的API,可以发送各种类型的HT... 目录前言1. 安装 requests 库2. 发送 GET 请求3. 发送 POST 请求4. 发送

聊聊springboot中如何自定义消息转换器

《聊聊springboot中如何自定义消息转换器》SpringBoot通过HttpMessageConverter处理HTTP数据转换,支持多种媒体类型,接下来通过本文给大家介绍springboot中... 目录核心接口springboot默认提供的转换器如何自定义消息转换器Spring Boot 中的消息

基于Python编写自动化邮件发送程序(进阶版)

《基于Python编写自动化邮件发送程序(进阶版)》在数字化时代,自动化邮件发送功能已成为企业和个人提升工作效率的重要工具,本文将使用Python编写一个简单的自动化邮件发送程序,希望对大家有所帮助... 目录理解SMTP协议基础配置开发环境构建邮件发送函数核心逻辑实现完整发送流程添加附件支持功能实现htm

Python自定义异常的全面指南(入门到实践)

《Python自定义异常的全面指南(入门到实践)》想象你正在开发一个银行系统,用户转账时余额不足,如果直接抛出ValueError,调用方很难区分是金额格式错误还是余额不足,这正是Python自定义异... 目录引言:为什么需要自定义异常一、异常基础:先搞懂python的异常体系1.1 异常是什么?1.2

Linux中的自定义协议+序列反序列化用法

《Linux中的自定义协议+序列反序列化用法》文章探讨网络程序在应用层的实现,涉及TCP协议的数据传输机制、结构化数据的序列化与反序列化方法,以及通过JSON和自定义协议构建网络计算器的思路,强调分层... 目录一,再次理解协议二,序列化和反序列化三,实现网络计算器3.1 日志文件3.2Socket.hpp