TP5+PHPMailer 实现发送邮件功能

  • 目录

    准备工作

    一、PHPMailer是什么?

    二、使用步骤

    1.查看本机是否开放25端口

    2.打开邮箱启动邮箱的SMTP服务

    3.下载PHPPHPMailer资源

    4.代码编写

    总结



准备工作

使用QQ邮箱或者163网易邮箱或者126邮箱,这里以qq邮箱为例来进行介绍。

分为三步:1.如果是本机需要开放端口25,如果是服务器的话需要添加一个465端口;

                  2.打开邮箱,需要开启邮箱的SMTP服务,开启之后返回一个授权验证码,后面要用

                  3.下载PHPMailer资源放在TP5框架的vendor目录下。

                  4.代码编写


一、PHPMailer是什么?

phpMailer 是一个非常强大的php发送邮件类,可以设定发送邮件地址、回复地址、邮件主题、html网页,上传附件,并且使用起来非常方便。

二、使用步骤

1.查看本机是否开放25端口

如果没有启动,可以使用cmd命令行开启,也可以在计算机->管理->服务中找到smtp服务,然后点击启动。
 

2.打开邮箱启动邮箱的SMTP服务

 QQ邮箱->设置->账户->POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,点击开启。

 需要注意的是授权码在后续步骤中会用到。

3.下载PHPMailer资源

(1)phpmailer 安装或者下载方式:

从 github 上下载: GitHub - PHPMailer/PHPMailer: The classic email sending library for PHP

(2)使用 composer 安装:

在打开的composer命令行界面输入

composer require phpmailer/phpmailer

(3)也可以通过我的资源链接:

点击下载资源

(4)下载完成后可以在TP5框架目录中看到这样一个文件

4.代码编写

(1)创建目录所需文件

主要思想是在主页index.html页面设置一个a链接来进行跳转进入email.html页面,在表单中输入发送人和发送验证内容,最后发送成功时页面提示200,页面失败时发送400;

(2)在index.html页面body中写入

(3)在index.php文件中创建一个类并写入一个函数叫target和emails

<?php

namespace app\index\controller; //引入命名空间

use think\Controller; //继承父类

use app\Common;//引入公共类

class Index extends Controller

{

    public function target(){        //跳转email.html页面

        return $this->fetch('email');

    }

   public function emails (){

        $em = new Common();

        $email = input('e_email');

        $code = input('e_content');

        echo $email;

        echo $code;

        return $em->send_code_to_email($email, $code);

    }

}

(4)在common.php公共配置文件中写入

<?php

// 应用公共文件

namespace app;

class Common

{

    public function send_code_to_email($email , $code)

    {

        //        echo 'send_code_to_email';

        //        vendor('PHPMailer.class#PHPMailer');

        vendor('PHPMailer.PHPMailerAutoload'); // 引入

        $toemail = $email;

        $mail = new \PHPMailer(); // 新建

        $mail->isSMTP(); //  开启SMTP

        $mail->CharSet = 'utf8'; // 设置编码

        $mail->Host = 'smtp.qq.com'; // SMTP服务器

        $mail->SMTPAuth = true; // smtp需要鉴权 这个必须是true

        $mail->Username = 'xxx@qq.com'; // 发信人的账号

        $mail->Password = "开启邮箱STMP服务时生成的授权码"; // 密码,非邮箱密码,是SMTP生成的密码

        $mail->From = 'xxx@qq.com'; // 发信人的地址

        $mail->SMTPSecure = 'ssl'; // 采用ssl协议

        $mail->Port = 465; // 端口号

        $mail->FromName = "发件人"; // 发件人昵称

        $mail->addAddress($toemail); // 收信人地址

        $mail->addReplyTo('xxx@qq.com'); //回复的时候回复的邮箱,建议和发信人一样

        $mail->Subject = "验证码"; // 邮件主题

        $mail->Body = "您的验证码是:  " . $code . "   有效期为1分钟,本邮件请勿回复!"; // 邮件内容

        if (!$mail->send()) {

            return 400;

        } else {

            return 200;

        }

    }

}


总结

这里只是通过一个demo来试验验证,您也可以写更好的方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/38734.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[PHPMailer]PHP电子邮件教程

前言 这周也是刚放假回来&#xff0c;苦逼高中生一个&#xff0c;很多时候因为我是住宿生&#xff0c;难免没有硬件设备来跟互联网进行沟通&#xff0c;有的时候我们想要给别人一个祝福&#xff0c;比如说某某人生日&#xff0c;但是你在学校&#xff0c;怎么给他祝福呢&#…

三分钟告诉你有可以ai写作的软件吗

你是否曾经遇到过写作困难的时候&#xff1f;或者是遇到了一个写作任务&#xff0c;但却不知道如何下笔&#xff1f;不用担心&#xff0c;现在有一种神奇的软件可以帮助你迅速解决这些烦恼。它就是ai写作软件&#xff01;是的&#xff0c;你没听错&#xff01;现在&#xff0c;…

改写句子的软件有哪些-免费改写文章的软件

改写句子的软件 改写句子的软件是一种广泛应用于文字处理的工具&#xff0c;其主要作用是通过对原文中的语言结构和表述方式进行调整和优化&#xff0c;以改进文章的质量和可读性。改写句子的软件广泛用于新闻报道、科学文章、学术论文、书籍等各类文本材料中&#xff0c;旨在…

chatgpt赋能python:关于怎么把Python改成黑色的SEO文章

关于怎么把Python改成黑色的SEO文章 在当今数字化时代&#xff0c;SEO已经成为了数字营销策略中非常重要的一部分。而在内容创作方面&#xff0c;黑色SEO占据着很大一部分。黑色SEO指的是通过一些不可取的手段&#xff0c;来获得搜索引擎排名的提升&#xff0c;以获取更多的流…

chatgpt赋能python:用Python更简单地替换句子中的单词

用Python更简单地替换句子中的单词 简介 Python是一种流行的编程语言&#xff0c;因其易于阅读和编写代码而闻名。它拥有许多强大的功能和库&#xff0c;其中一个非常有用的功能是如何替换句子中的单词。在今天的数字时代&#xff0c;SEO变得越来越重要&#xff0c;其中一个关…

邮箱验证前端

邮箱验证前端代码&#xff08;带定时器&#xff09; <!DOCTYPE html> <html > <head><meta charset"utf-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><title>用户忘记密码</title><m…

验证邮箱是否存在

通过socket、smtp验证邮箱是否存在 验证逻辑图 验证邮箱代码 /*** socket验证** param mail 邮箱* return*/private static Boolean smtpVerify(String mail) {Socket socket null;boolean valid;BufferedReader reader null;BufferedWriter writer null;// 获取邮箱的域…

koa发送验证码至邮箱,QQ邮箱发送

提示&#xff1a;koa发送验证码至邮箱&#xff0c;QQ邮箱发送 文章目录 前言一、依赖和邮箱设置二、使用步骤1.vue中Login.vue2.vue中axios.js3.koa中routes.js4.koa中emailCode.js5.koa中app.js 总结 前言 koa发送验证码至邮箱&#xff0c;QQ邮箱发送 一、依赖和邮箱设置 n…

抖音APP接口分析

抖音搜索接口 接口名类型链接搜索用户综合信息posthttps://aweme-hl.snssdk.com/aweme/v1/challenge/search/?搜索相关用户列表posthttps://search-hl.amemv.com/aweme/v1/discover/search/?搜索相关话题列表posthttps://search-hl.amemv.com/aweme/v1/challenge/search/? …

征集即将截止,《中国AIGC产业全景报告暨AIGC 50》邀你共同参与!

随着ChatGPT火爆&#xff0c;AIGC——AI生成内容&#xff0c;热度被推向了最高潮。 短短两个月内&#xff0c;ChatGPT频频刷屏&#xff0c;霸占舆论热点。不仅在多个场景上效果惊人&#xff0c;还实现了最快达到一亿月活&#xff0c;疯狂拉升各个相关技术和概念公司的品牌、股价…

【历史上的今天】8 月 29 日:Wolfram 语言之父、“新”科学家 Stephen Wolfram 的诞生

整理 | 王启隆 透过「历史上的今天」&#xff0c;从过去看未来&#xff0c;从现在亦可以改变未来。 今天是 2022 年 8 月 29 日&#xff0c;2014 年的今天&#xff0c;电影《模仿游戏》在美国的特柳赖德电影节全球首映&#xff0c;将“计算机科学之父”艾伦图灵的传奇人生带到…

猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。

美国数学家维纳(N.Wiener)智力早熟&#xff0c;11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。 一次&#xff0c;他参加某个重要会议&#xff0c;年轻的脸孔引人注目。于是有人询问他的年龄&#xff0c;他回答说&#xff1a; “我年龄的立方是个4位数。我年龄的4次…

图灵奖获得者杰克·唐加拉:ChatGPT并非“超算大脑”,量子芯片或引领行业跨越式飞跃...

来源&#xff1a;数据观 现任美国田纳西大学电气工程和计算机科学系教授的杰克唐加拉&#xff08;Jack J. Dongarra&#xff09;&#xff0c;既是美国国家工程院院士&#xff0c;又是英国皇家学会外籍院士。他是超级计算机基准测试、数值分析、线性代数解算器和高性能计算领域的…

数学家排行榜:高斯和黎曼谁才是近现代最伟大的数学家?

第一&#xff1a;牛顿&#xff0c;高斯&#xff0c;欧拉&#xff0c;阿基米德 第二&#xff1a;柯西&#xff0c;庞加莱&#xff0c;康托尔&#xff0c;凯莱&#xff0c;哈密尔顿&#xff0c;黎曼&#xff0c;爱森斯坦&#xff0c;帕斯卡 第三&#xff1a;伽罗瓦&#xff0c;阿…

中国著名的数学家

一、丘成桐 丘成桐教授&#xff08;1949.4.4.~现在&#xff09; 国际著名数学家&#xff0c;20世纪国际著名华人数学家陈省身老先生的学生&#xff0c;现担任美国科学院院士、中国科学院外籍院士、俄罗斯科学院外籍院士、意大利Lincei 科学院外籍院士、台湾中央研究院院士、…

顶级数学家到底有多厉害?

数学是我的全部生活。 ——哈代 01 哈代 哈代&#xff08;Hardy&#xff0c;Godfrey Harold&#xff0c;1877年2月7日&#xff5e;1947年12月1日&#xff09;&#xff0c;卒于剑桥。13岁进入以培养数学家著称的温切斯特学院。23岁在剑桥获得职位。同年得史密斯奖。 在20世纪上半…

微软官方确认新浏览器Edge不再支持Silverlight

微软的新浏览器Edge一直广受关注&#xff0c;这次Windows 10大招背后的每一个技术细节都体现了微软的态度。日前&#xff0c;微软在官网声称&#xff0c;Edge将不再支持ActiveX&#xff0c;同时也移除了对Silverlight的支持。放弃ActiveX也意味着Edge浏览器将不会支持公司自己的…

关于Office 365开发者订阅无法注册的说明

自发布Office 365开发者订阅的消息已经有一段时间了&#xff0c;在这段时间里不时有收到网友的反馈&#xff0c;说收不到验证码&#xff0c;开始的时候没太在意&#xff0c;认为可能是个别手机运营商的问题&#xff0c;但是一直持续地收到这样的反馈&#xff0c;所以我决定看看…

微软明年停止支持IE浏览器 鼓励使用Edge浏览器

微软在其官方社区宣布自今年 11 月 30 日起&#xff0c;Microsoft Teams Web 应用将逐步停止对IE11的支持&#xff1b;从 2021 年 8 月 17 日起&#xff0c;IE 11 浏览器将不再支持微软旗下包括Office365&#xff0c;OneDrive 云盘&#xff0c;Outlook 邮箱等办公软件服务。微软…

微软为新Edge向停止支持的Windows 7推送更新

导读Windows 7 已经停止支持了&#xff0c;但是微软突然又向这个系统推送了更新&#xff0c;这是为什么呢&#xff1f; 微软在近期补丁日向 Windows 10 用户推送基于 Chromium 的新 Edge&#xff0c;但事实证明&#xff0c;微软也借此机会向已经停止支持的 Windows 7 操作系统推…