ThinkPHP发送邮件示例代码
作者:x_liang 发布时间:2023-11-21 19:17:31
标签:ThinkPHP,邮件
先在GitHub找到PHPMailer 并下载
https://github.com/PHPMailer/PHPMailer//PHPMailer的GitHub地址
将下载的PHPMailer放在ThinkPHP/Library/Vendor目录下
在config.php下添加邮件发送配置信息
在Common/function.php下编写mailSend(array $mailInfo)函数
/**
* 邮件发送,可以多图片,多附件发送
* @param $mailInfo $mailInfo = array( //二维数组
* 'address' => 'xx@xx.com', //收件人邮箱
* 'subject' => '这里是邮件主题',
* 'body' => "<h2>你好</h2> 这是一个邮件,
* <a href='#'>http://www.test.com</a>
* <hr><img alt='这是一张图片' src='cid:test_id1'>",//图片src对应图片标识
* 'img' => array(
* 'path' => 'test/1.jpg', //可以使用相对路径
* 'cid' => 'test_id1', //附件内容标识
* 'name' => '1.jpg'
* ),
* 'attachment'=> array(
* 'path' => 'text/text.txt',
* 'name' => '附件.txt'
* ),
* );
* @return bool
* @throws Exception
* @throws phpmailerException
*/
function mailSend($mailInfo){
//date_default_timezone_set('Asia/Shanghai');//设置时区
vendor('PHPMailer.class#phpmailer');
$mail = new \PHPMailer();
$mailConfig = C('MAIL_CONF');//获取mail配置
//dump($mailConfig);exit;
//配置项
$mail->isSMTP();
$mail->Host = $mailConfig['MAIL_HOST'];
$mail->Port = $mailConfig['MAIL_PORT'];//端口
$mail->SMTPAuth = $mailConfig['MAIL_SMTPAUTH'];//启用SMTP认证
$mail->CharSet = $mailConfig['MAIL_CHARSET'];
$mail->Encoding = $mailConfig['MAIL_ENCODING'];
$mail->Username = $mailConfig['MAIL_NAME']; //发送邮箱
$mail->Password = $mailConfig['MAIL_PWD'];
$mail->FromName = $mailConfig['MAIL_FROMNAME']; //发件人名字
//内容
$mail->addAddress($mailInfo['address']);//收件人邮箱
$mail->Subject = $mailInfo['subject']; //邮件主题
//图片以及附件
$mail->isHTML(true); //支持html格式内容
//最后一个参数可不写,默认为原文件名
$mail->addEmbeddedImage($mailInfo['img']['path'],$mailInfo['img']['cid'],$mailInfo['img']['name']);//图片路径,图片cid,图片名称
$mail->addAttachment($mailInfo['attachment']['path'],$mailInfo['attachment']['name']);//添加附件,并指定名称
//邮件主体
$mail->Body = $mailInfo['body'];//发送
return $mail->send()?true:false;
}
0
投稿
猜你喜欢
- 作为WIMP(Window/Icon/Menu/Pointing Device)界面设计的关键部分,图标在人机交互设计中无所不在。随着人们对
- 在本人看来,HTML 5是一个妥协方案,虽不激进,但更能推动技术的继续进步。没有命名空间,元素也不要求闭合(当然这并不是优点),浏览器也可以
- 在利用javascript内置的eval函数,将json格式的字符串转换成JS对象时,需要用一对"()"先将该字符串包住
- 错误代码错误消息说 明ASP0100Out of memory内存不足(不能分配要求的内存)ASP0101Unexpected
- 它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句性能超前,EXECUTE IMMEDIATE的目标在
- PS笔刷,样式,形状、渐变、滤镜载入方式及使用:1、笔刷载入方式: 打开PS,编辑-->预设管理器-->载入-->然后点你
- 本文向大家分享23种JavaScript提高执行效率的小技巧、最佳实践等非常实用的内容。当然JavaScript的实用技巧不止这些,还有很多
- “没 Javascript 就会死”的页面通常都会加入 noscript 标签用于提示用户开启脚本支持。 然而在 IE8 下,如果在 nos
- 随着十几年前“用户体验”这一概念的提出,“用户研究”也逐渐发展成为一个新兴的行业。那么,“用户研究”究竟包括哪些工作内容,在企业中如何开展,
- 请问如何使用CDONTS组件来发送电子邮件?我们可以在IIS4下使用CDONTS来完成。首先要确认是否安装了SMTP服务(OPTIONPAC
- 按数量级递增排列,常见的时间复杂度有:常数阶O(1),对数阶O(log2n),线性阶O(n),线性对数阶O(nlog2n),平方阶O(n2)
- language.xml 代码如下:<?xml version="1.0" encoding=
- 很多年前,我们就可以轻易的从很多国营商场、火车车厢、饭馆旅馆中看到墙上挂的那个小本本-意见薄,作为经营方与顾客沟通的
- 在 MySQL 中,数据库和表对应于那些目录下的目录和文件。因而,操作系统的敏感性决定数据库和表命名的大小写敏感。这就意味着数据库和表名在
- 网站能切换几套CSS风格早已不是什么新鲜事了。大家也都知道怎么去弄。早上发现一个有意思得站点 http://www.leemunroe.co
- 引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就
- 代码如下:--CAST 和 CONVERT 函数 Percentage DECLARE @dec decimal(5,3), @var va
- 一、为图片添加水印 代码如下:<% Dim Jpeg ””//声明变量 Set Jpeg = Server.CreateObject(
- 首先你要明白24bit的bmp图片的基本信息:1像素占3个字节,头部占54个字节。好了,现在开始做验证码了,这里以4位验证码(大小为20(高
- 绘制一个线框图是你在制作一个网站前必须要经历的过程。线框图能够帮助你合理的组织并简化你内容和元素,是网站内容布局的基本视觉表现方式,是网站开