网站一般都具备一个功能,就是邮箱提醒功能;比如收到反馈信息来一条邮箱提醒,网站有了信息留言了来一条邮箱提醒等等。这时候我们就要用到phpmailer这个插件了。

插件可以到git下载 https://github.com/PHPMailer/PHPMailer

下载下来后得到一个压缩包,我们只要里面两个文件,对的只要两个。把压缩包里边src目录的 PHPMailer.php 和 SMTP.php 提取出来。把它丢进tp5扩展extend中。

丢进去后就不用管了,接着下一步写一个发送邮件的方法。

为方便全站调用phpmailer,我们可以把方法写在common.php公用文件中<?php

use PHPMailer\PHPMailer;

/**

* @desc 发送普通邮件

* @param $title 邮件标题

* @param $Address 收件人邮箱

* @param $body 邮件正文

* @return bool|string 返回是否发送成功

*/

function SendEmail($title, $Address, $body){

$mail = new PHPMailer();//实例化

$mail->IsSMTP();// 启用SMTP

$mail->Host = "smtp.qq.com";//SMTP服务器 以qq邮箱为例子 还可以是smtp.163.com 等等其它的smtp服务地址

$mail->Port = 465;//邮件发送端口 一般为465 不需要修改

$mail->SMTPAuth = true;//启用SMTP认证

$mail->SMTPSecure = "ssl";// 设置安全验证方式为ssl

$mail->CharSet = "UTF-8";//字符集

$mail->Encoding = "base64";//编码方式

$mail->Username = "";//你的邮箱(是开启了smtp服务的邮箱,随便写是无效的)

$mail->Password = "";//你的smtp服务密码(是服务密码不是登陆密码,写登陆密码也是无效的)

$mail->From = "";//发件人邮箱地址(这里也填smtp服务邮箱就好)

$mail->FromName = "";//发件人的名字(这个就随便了,什么阿猫阿狗都行)  //下面这些不需要修改

$mail->Subject = $title;//邮件标题

$mail->AddAddress($Address);//收件人邮箱

$mail->IsHTML(true);//支持html格式内容

$mail->Body = $body;//邮件主体内容

if ($mail->Send()) {

return true;

}else{

return true; "Mailer Error: ".$mail->ErrorInfo;// 输出错误信息

}

}

把以上该填写的配置好了之后就可以全局调用这个方法发邮箱了

namespace app\index\controller;

use app\common\controller\SysAction;

class Index extends SysAction

{

public function index()

{

$title = '这里是邮箱标题!';

$Address = 'aaa@qq.com';//收件人邮箱

$body = '这是发送邮件的内容,这里是支持html格式的,比如

我是div标签,有没有字体很大了?

';

//这里有三个参数,分别是 邮件标题,收件人邮箱,邮件内容

$send = SendEmail($title, $Address, $body);

if($send){

echo "邮箱发送成功";

} else {

echo $send;

};

}

}

只要运行上面方法就可以给指定的人发送邮件了,效果如下(smtp要配置好,不然是没效果的)

微信扫码查看本文

tp5中php正则怎么写,详解tp5中phpmailer的使用相关推荐

  1. c语言中双冒号意思_详解C++中的双冒号 ::

    C++中的双冒号 ::第一种,类作用域,用来标明类的变量.函数 Human::setName(char* name); 第二种,命名空间作用域,用来注明所使用的类.函数属于哪一个命名空间的 std:: ...

  2. python中break怎么用_详解Python中break语句的用法

    详解Python中break语句的用法 在Python中的break语句终止当前循环,继续执行下一个语句,就像C语言中的break一样. break最常见的用途是当一些外部条件被触发,需要从一个循环中 ...

  3. python中的iloc函数_详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据

    pandas的DataFrame对象,本质上是二维矩阵,跟常规二维矩阵的差别在于前者额外指定了每一行和每一列的名称.这样内部数据抽取既可以用"行列名称(对应.loc[]方法)",也 ...

  4. python中pandas安装视频教程_详解Python中pandas的安装操作说明(傻瓜版)

    很多人来问我pandas的安装(python数据分析里面的必修课) 步骤如下: 安装python的时候,把路径加到系统里,这样,随时可以用pip 路径添加方法: 查找路径: 路径1: 2.例如: 即: ...

  5. [转载] python中for语句用法_详解Python中for循环的使用_python

    参考链接: 在Python中将else条件语句与for循环一起使用 这篇文章主要介绍了Python中for循环的使用,来自于IBM官方网站技术文档,需要的朋友可以参考下 for 循环 本系列前面 &q ...

  6. java中static修饰函数_详解java中static关键词的作用

    在java中,static是一个修饰符,用于修饰类的成员方法.类的成员变量,另外可以编写static代码块来优化程序性能:被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载 ...

  7. c语言中优先级劣后级,详解基金中优先级和劣后级的区别

    原标题:详解基金中优先级和劣后级的区别 我们经常看到一些私募基金在投资收益模式上进行创新,将LP分为优先及劣后两个级别.很多朋友都很困惑为何要如此设计.今天,关天资本将为大家详细介绍基金中的优先级和劣 ...

  8. python中for语句用法_详解Python中for循环的使用_python

    这篇文章主要介绍了Python中for循环的使用,来自于IBM官方网站技术文档,需要的朋友可以参考下 for 循环 本系列前面 "探索 Python,第 5 部分:用 Python 编程&q ...

  9. mysql数据库中count的作用_详解 MySQL中count函数的正确使用方法

    1. 描述 在MySQL中,当我们需要获取某张表中的总行数时,一般会选择使用下面的语句 select count(*) from table; 其实count函数中除了*还可以放其他参数,比如常数.主 ...

最新文章

  1. 【Python-ML】无监督线性降维PCA方法
  2. UA MATH567 高维统计III 随机矩阵4 欧氏空间上的集网与覆盖
  3. 机器人演唱邓丽君是真的吗_20年后,高科技让她与邓丽君终相逢
  4. MySQL学习笔记04【数据库的查询操作、今日内容、表的约束】
  5. 你相亲成功的几率有多高?机器学习硬核预测
  6. 外挂学习之路(4)--- 大海捞针找call call const法
  7. Spark SQL之queryExecution运行流程解析Logical Plan(三)
  8. css样式引入方式,及常用设置标签样式
  9. dev gridview 打印列数过多_R语言:如何将多张统计图绘制在一张上面
  10. 如何用记事本编写运行java程序?
  11. [深度学习]-基于tensorflow的CNN和RNN-LSTM文本情感分析对比
  12. vmware cli 修改磁盘为SSD
  13. 【WebGoat习题解析】Parameter Tampering-Bypass HTML Field Restrictions
  14. UCI糖尿病数据利用逻辑回归算法进行训练和预测
  15. Codeforces - Chloe and pleasant prizes
  16. 190403内置模块
  17. proteus里面没有stm32怎么办_STM32难不难,如何学习?这几点老司机建议,你得好好收藏!...
  18. ROS2机器人笔记20-08-02
  19. Genymotion - 强大好用高性能的 Android 模拟器 (在电脑流畅运行APK安卓软件游戏的利器)
  20. 使用sass预处理器的优劣

热门文章

  1. python爬取b站搜索结果播放地址_如何利用Python快速爬取B站全站视频信息
  2. 启动zookeeper时IDEA启动项目时提示8080端口被占用
  3. VisualVM提示检测不到本地JAVA程序
  4. fetch请求报错:
  5. python读取邮箱邮件_Python读取邮箱邮件
  6. linux查看jdk详细版本号,Linux中查看jdk版本
  7. 二叉搜索树的删除操作可以交换吗_一文看懂数据结构中的树
  8. 万分之二用百分之怎么表示_农村建房时,“砖砌的化粪池”怎么做?听完内行人的分析,明白了...
  9. python add_argument()用法解析
  10. layer php弹出层,layer官方演示与讲解(jQuery弹出层插件)