<?php namespace app\admin\controller; use think\Controller;
use think\Request; use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
class Mail extends Controller
{
public function test(){ $info=$this->sendMail('434922813@qq.com','邮件的标题','内容');
dump($info); }
/**
* 发送邮件方法
* @param string $to:接收者邮箱地址
* @param string $title:邮件的标题
* @param string $content:邮件内容
* @return boolean true:发送成功 false:发送失败
*/ public function sendMail($to,$title,$content){ //实例化PHPMailer核心类
//$mail = new PHPMailer(false);
$mail = new PHPMailer(false);
//是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式
$mail->SMTPDebug = 1;
//使用smtp鉴权方式发送邮件
$mail->isSMTP();
//smtp需要鉴权 这个必须是true
$mail->SMTPAuth=true;
//链接163域名邮箱的服务器地址
$mail->Host = 'smtp.163.com';
//设置使用ssl加密方式登录鉴权
$mail->SMTPSecure = 'tls';
//设置ssl连接smtp服务器的远程服务器端口号,以前的默认是25,但是现在新的好像已经不可用了 可选465或587
// $mail->Port = 465;
//设置smtp的helo消息头 这个可有可无 内容任意
//$mail->Helo = 'Hello mail.163.com Server';
//设置发件人的主机域 可有可无 默认为localhost 内容任意,建议使用你的域名
//$mail->Hostname = 'localhost';
// //设置发送的邮件的编码 可选GB2312 我喜欢utf-8 据说utf8在某些客户端收信下会乱码
// $mail->CharSet = 'UTF-8';
//设置发件人姓名(昵称) 任意内容,显示在收件人邮件的发件人邮箱地址前的发件人姓名
$mail->FromName = '紫罗兰';
//smtp登录的账号 这里填入字符串格式的qq号即可
$mail->Username ='hkppy2016@163.com';
//smtp登录的密码 使用生成的授权码 你的最新的授权码
$mail->Password = '***********';
//设置发件人邮箱地址 这里填入上述提到的“发件人邮箱”
$mail->From = 'hkppy2016@163.com';
//邮件正文是否为html编码 注意此处是一个方法 不再是属性 true或false
$mail->isHTML(true);
//设置收件人邮箱地址 该方法有两个参数 第一个参数为收件人邮箱地址 第二参数为给该地址设置的昵称 不同的邮箱系统会自动进行处理变动 这里第二个参数的意义不大
$mail->addAddress($to);
//添加多个收件人 则多次调用方法即可
// $mail->addAddress('xxx@qq.com','lsgo在线通知');
//添加该邮件的主题
$mail->Subject = $title;
//添加邮件正文 上方将isHTML设置成了true,则可以是完整的html字符串 如:使用file_get_contents函数读取本地的html文件
$mail->Body = $content; //为该邮件添加附件 该方法也有两个参数 第一个参数为附件存放的目录(相对目录、或绝对目录均可) 第二参数为在邮件附件中该附件的名称
// $mail->addAttachment('./d.jpg','mm.jpg');
//同样该方法可以多次调用 上传多个附件
// $mail->addAttachment('./Jlib-1.1.0.js','Jlib.js'); $status = $mail->send(); //简单的判断与提示信息
if($status) {
return true;
}else{
return false;
}
} }

tp5.1发送邮件的更多相关文章

  1. TP5之发送邮件

    1.下载扩展,vendor\phpmailer 文件结构: 2.话不多说,上代码    注意点: ·   需要提前开通对应邮箱的SMTP服务 ·  $mail->Host = "  & ...

  2. 仿百度糯米TP5项目笔记

    需求分析 系统三大模块 商家平台.主平台.前台模块 Thinkphp5.0实战 仿百度糯米开发多商家电商平台网盘下载 (2017-04-24 01:46:23) 转载▼     第1章 课程简介 本章 ...

  3. 你不得不掌握的thinkphp5

    thinkphp官网在去年的时候发布了tp的颠覆版本thinkphp5,tp5确实比之前的版本好用了很多,增加了很多的一些特性,它采用全新的架构思想,引入了更多的PHP新特性,优化了核心,减少了依赖, ...

  4. php发送邮件(TP5)

    先百度搜索phpmailer  下载phpmailer函数包 放到/vendor/下,这是tp5扩展类库目录 然后你需要一个已经开启了SMTP服务的邮箱,作为发送者邮箱,QQ邮箱163邮箱是需要自己开 ...

  5. TP5实现邮件发送(PHP 利用QQ邮箱发送邮件「PHPMailer」)

    在 PHP 应用开发中,往往需要验证用户邮箱.发送消息通知,而使用 PHP 内置的 mail() 函数,则需要邮件系统的支持. 如果熟悉 IMAP/SMTP 协议,结合 Socket 功能就可以编写邮 ...

  6. TP5使用PHPMAILER发送邮件

    TP使用PHPMAILER发送邮件 1.申请一个SMTP服务的邮箱. 我申请的是smtp.163.com的服务,注意SMTP服务密码不是登陆密码,需要单独设置 2.下载phpmailer类库文件htt ...

  7. 发送邮件 tp5.1 5.0都可以,实测有效

    https://www.cnblogs.com/zhensg123/p/8954175.html 博客文章少了个Expection.php 文件; common.php <?php // 应用公 ...

  8. TP5 发送邮件代码

    发送邮箱邮件方法 /** * 系统邮件发送函数 * @param string $tomail 接收邮件者邮箱 * @param string $name 接收邮件者名称 * @param strin ...

  9. TP5发送邮件

    1,前提去qq邮箱开启smtp 2,生成授权码 2,发送短信给 3,附上代码 贴上代码如下 <?phpnamespace app\mails\controller;use \think\Cont ...

随机推荐

  1. 物理机和虚拟机互相可以ping通,还是无法连接

    关闭防火墙服务 CentOS # systemctl stop firewalld.service Debian # iptables -F Ubuntu # ufw disable 安装SSH服务 ...

  2. QT 简单的计算器例子

    开发工具:vs2010.qt5.1 1使用vs新建工程,Base Class 选择QDialog

  3. 斗鱼 API 网关演进之路

    2019 年 5 月 11 日,OpenResty 社区联合又拍云,举办 OpenResty × Open Talk 全国巡回沙龙武汉站,斗鱼资深工程师张壮壮在活动上做了< 斗鱼 API 网关演 ...

  4. PHP拾贝

    $_SERVER['DOCUMENT_ROOT']指向了web服务器文档树的根.(E:/wamp/www/) ********************************************* ...

  5. Quartz 定时器,同时运用多个定时器

    效果:每天执行两个定时器,两个定时器不相关联.jar版本Quartz 2.2.3 Java工程结构图  jar 包下载: 链接: https://pan.baidu.com/s/1-7dh620k9P ...

  6. python协程与异步协程

    在前面几个博客中我们一一对应解决了消费者消费的速度跟不上生产者,浪费我们大量的时间去等待的问题,在这里,针对业务逻辑比较耗时间的问题,我们还有除了多进程之外更优的解决方式,那就是协程和异步协程.在引入 ...

  7. NetBeans切换其他界面风格

    NetBeans是一款优秀的IDE,但是界面过亮,让我从使用以来就又爱又恨,经过一番摸索,测试出一款扩展软件 个人挺喜欢的分享出来 废话不多说下面教程: 1.安装NetBeans: 2.下载外观包ja ...

  8. Caused by: java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)V

    项目中各种缺包现象... Caused by: java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)V ...

  9. iOS - 协议实现的例子

    在实际开发中,协议的应用非常广泛,以下是实际应用的例子. 1.协议的定义: myProtocolDelegate.h // // myProtocolDelegate.h // zlwPlayerAp ...

  10. javascript模块化---requirejs

    requirejs是异步执行 为什么会出现模块化1.不定什么时候,自己就将全局变量改变了2.函数名的冲突3.依赖关系不好管理如果b.js依赖a.js那么b必须放在a的下面解决的办法1.自执行函数来包装 ...