php配置email支持_使用PHPMailer实现PHP发邮件功能

第一步:

打开网址https://github.com/PHPMailer/PHPMailer/ 下载PHPMailer,PHPMailer 需要 PHP 的 sockets 扩展支持,而登录 QQ 邮箱 SMTP 服务器则必须通过 SSL 加密的, PHP 还得包含 openssl 的支持。

第二步:使用 phpinfo() 函数查看 socket 和 openssl 扩展信息(wamp server 默认启用了该扩展)。

openssl 如果没有开启请打开php.ini文件进行开启

首先检查php.ini中;extension=php_openssl.dll是否存在, 如果存在的话去掉前面的注释符‘;’, 如果不存在这行,那么添加extension=php_openssl.dll。

PHPMailer 核心文件

第三步:QQ 邮箱设置

所有的主流邮箱都支持 SMTP 协议,但并非所有邮箱都默认开启,您可以在邮箱的设置里面手动开启。

第三方服务在提供了账号和密码之后就可以登录 SMTP 服务器,通过它来控制邮件的中转方式。

第四步:开启 SMTP 服务

选择 IMAP/SMTP 服务,点击开启服务

第五步:验证密保

发送短信“配置邮件客户端”至1069-0700-69

第六步:获取授权码

SMTP 服务器认证密码,需要妥善保管(PS:密码直接没有空格)

第七步:PHP发送邮件

基本代码

下面的代码演示了 PHPMailer 的使用方法,注意 PHPMailer 实例的配置过程。

// 引入PHPMailer的核心文件

require_once("PHPMailer/class.phpmailer.php");

require_once("PHPMailer/class.smtp.php");

// 实例化PHPMailer核心类

$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服务器的远程服务器端口号

$mail->Port = 465;

// 设置发送的邮件的编码

$mail->CharSet = 'UTF-8';

// 设置发件人昵称 显示在收件人邮件的发件人邮箱地址前的发件人姓名

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

// smtp登录的账号 QQ邮箱即可

$mail->Username = '12345678@qq.com';

// smtp登录的密码 使用生成的授权码

$mail->Password = '**********';

// 设置发件人邮箱地址 同登录账号

$mail->From = '12345678@qq.com';

// 邮件正文是否为html编码 注意此处是一个方法

$mail->isHTML(true);

// 设置收件人邮箱地址

$mail->addAddress('87654321@qq.com');

// 添加多个收件人 则多次调用方法即可

$mail->addAddress('87654321@163.com');

// 添加该邮件的主题

$mail->Subject = '邮件主题';

// 添加邮件正文

$mail->Body = '

Hello World

';

// 为该邮件添加附件

$mail->addAttachment('./example.pdf');

// 发送邮件 返回状态

$status = $mail->send();

我在thinkphp5.0中使用代码

/**

* 邮件发送

* @param $to 接收人

* @param string $subject 邮件标题

* @param string $content 邮件内容(html模板渲染后的内容)

* @throws Exception

* @throws phpmailerException

*/

function send_email($to,$subject='',$content=''){

vendor('phpmailer.PHPMailerAutoload');

//require_once 'vendor/phpmailer/PHPMailerAutoload.php';

$mail = new PHPMailer;

$arr = db('config')->where('inc_type','smtp')->select();

$config = convert_arr_kv($arr,'name','value');

$mail->CharSet = 'UTF-8'; //设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码

$mail->isSMTP();

//Enable SMTP debugging

// 0 = off (for production use)

// 1 = client messages

// 2 = client and server messages

$mail->SMTPDebug = 0;

//调试输出格式

//$mail->Debugoutput = 'html';

//smtp服务器

$mail->Host = $config['smtp_server'];

//端口 - likely to be 25, 465 or 587

$mail->Port = $config['smtp_port'];

if($mail->Port === 465) $mail->SMTPSecure = 'ssl';// 使用安全协议

//Whether to use SMTP authentication

$mail->SMTPAuth = true;

//发送邮箱

$mail->Username = $config['smtp_user'];

//密码

$mail->Password = $config['smtp_pwd'];

//Set who the message is to be sent from

$mail->setFrom($config['smtp_user'],$config['email_id']);

//回复地址

//$mail->addReplyTo('replyto@example.com', 'First Last');

//接收邮件方

if(is_array($to)){

foreach ($to as $v){

$mail->addAddress($v);

}

}else{

$mail->addAddress($to);

}

$mail->isHTML(true);// send as HTML

//标题

$mail->Subject = $subject;

//HTML内容转换

$mail->msgHTML($content);

//Replace the plain text body with one created manually

//$mail->AltBody = 'This is a plain-text message body';

//添加附件

//$mail->addAttachment('images/phpmailer_mini.png');

//send the message, check for errors

return $mail->send();

}

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

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

相关文章

如何构建裸机hello world目标程序并在SkyEye全数字实时仿真平台上运行及调试?

SkyEye全数字实时仿真平台,简称SkyEye,是一款支持 ARM、TI DSP、PowerPC、X86、SPARC、龙芯、飞腾等多种处理器体系架构的指令级仿真平台。 SkyEye可以部署在桌面计算机上,开发人员可以基于SkyEye提供的已有模型库的组件(如处理器…

bigdicmal除法精度设置_BigDecimal 高精度计算 熟悉扩展,java除法保留小数问题

java保留两位小数问题:方式一:四舍五入double f 111231.5585;BigDecimal b new BigDecimal(f);double f1 b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();保留两位小数---------------------------------------------…

「基于模型的系统工程」的发展历程

节选自《「基于模型的系统工程」的发展历程》,因篇幅有限,完整报告文末领取。 当下,人们热衷于讨论基于计算机的建模、模型、数据库和敏捷设计方法。然而,很少有人会耐心地审视和理解大量的技术创新,这些技术创新和发…

Unity使用Rider作为默认编辑器

01.Edit -> Preferences 02.Externel Tools -> Open by file extension 如果界面选项有Rider直接选择,如果没有选择Browse) 03.选择rider64.exe 04.成功关联

群签名和环签名的区别_环签名方案的研究

摘要:信息时代虽然带给我们无限商机与方便,但也充斥着隐患与危险.由于网络容易受到攻击,导致机密信息的泄密,数据被篡改,轻则引发企业,部门工作陷入瘫痪,个人利益受损,重则危及国家安全和社会稳定,因此保证信息安全已经成为关系国计民生的重要问题之一.而数字签名技…

国产自主可控的代码自动生成工具SkyEye

传统的系统开发过程,都是由工程师根据项目需求书来编写代码完成系统的开发,但随着功能的扩充和版本的迭代,系统中庞大的代码量很难确保正确无误,给后期测试和仿真带来了很大的压力和成本,在航空航天、卫星系统、核电等…

同步数据流语言代码生成工具的研究进展

摘要 同步数据流语言(如Lustre,Signal)近年来在航空、高铁、核电等安全关键领域得到了广泛应用,因此与这类语言相关的开发工具本身的安全性问题受到高度关注.同步数据流语言到串行命令式语言的代码生成工具是此类工具的典型代表(如Scade)。构造代码生成工具的途径可…

jstack 脚本 自动日志_深入理解jstack日志

Tags : jstack日志发表时间:2019-03-17 23:53:19在分析线上问题时常使用到jstack 命令将当时Java应用程序的线程堆栈dump出来。面对jstack 日志,我们如何查看?首先要清楚线程的状态线程的状态有:new、runnable、running、waiting、…

swagger默认访问路径_swagger 如何配置项目访问路径

boot子模块的pom文件:xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">swagger-parentcom.test.swagger1.0-SNAPSHOT4.0.0warbo…

layui向body添加html_layui 各项配置

第一、如何全部选中table中每一条记录1.首先给table的父类设置一个唯一id *这种方式不推荐,效果比较差,推荐第2种方式再搜索 alias-table div.layui-table-fixed.layui-table-fixed-l下面的i元素var bbcc $(#alias-table div.layui-table-fixed.layui-ta…

国产自主可控的MBSE解决方案和全数字仿真平台(SkyEye)

2020年6月,哈工大、哈工程被美国商务部列入实体清单,禁用MATLAB事件频繁登上热搜,工业软件被称为「卡脖子」技术。 截止到2020年12月,中国已有超过300家企业和机构被列入美国“实体名单”,被列入名单的大部分是从事安全…

iservice封装有哪些方法_总结WebService的一些封装技巧

今天早上起来,想谈谈.NET中的WebService,当然我不想讲什么是WebService,或者怎么用WebService,因为那个大家随便Google一下前100页都能找到答案。今天我想来分享一下我在用WebService中的一些技巧(至少我认为是技巧,还…

一种全数字实时仿真的安全关键领域解决方案

随着科技的发展,系统工程的设计体量逐渐庞大起来,尤其是对于轨道交通、航空航天、核电站等安全关键领域中,如何在复杂度逐年变大的同时保证其安全性和可靠性,是近年来各大公司需要研究的课题。最近比较火热的基于模型的系统工程&a…

vue 引用网络css_vue如何引用其他组件(css和js)

1.vuejs组件之间的调用components注意:报错Do not use built-in or reserved HTML elements as component id:修改组件的名字,例如不能使用address为组件名字组件名字不要使用内置的或保留HTML元素为组件id,App.vue是一个入口,vue…

国产自主可控的MBSE建模与仿真平台SkyEye

转载: 2020年6月,哈工大、哈工程被美国商务部列入实体清单,禁用MATLAB事件频繁登上热搜,工业软件被称为「卡脖子」技术。 截止到2020年12月,中国已有超过300家企业和机构被列入美国“实体名单”,被列入名…

access求斐波拉契数列_打印目录,斐波那契数列的递归与循环,牧场牛数

实验报告1任务概述(任务说明)1 f(n)f(n-1)f(n-2)f(0)f(1)1,求斐波那契数列第20项,分别用循环和递归的方式,比较时间效率。提示:可以使用c函数clock取出当前系统时间,计算前后各一次,两次相减除以每秒的时钟…

国产自主可控的形式化验证代码自动生成工具ModelCoder可替代Matlab/Sumlink

在安全关键领域,基于模型的软件工程或者软件开发已逐渐进入了我国的装备研制过程中。使用SimuLink或者SCADE等嵌入式软件建模工具对算法或者控制逻辑进行可视化建模,然后生成高可靠的二进制代码逐渐成为了安全关键领域的主流软件开发方式。由我司自主开发…

自主可控的安全关键领域国产工业软件SkyEye

全球制造业正处于新一轮变革的浪潮中,大数据、云计算等新一代信息技术正加速向工业领域融合渗透,工业互联网、工业4.0、智能制造等战略理念不断涌现。传统产业数字化转型升级的需求强烈,工业软件缺乏自主可控成为横亘在我国发展工业4.0道路上…

weblogic中ssrf漏洞修复_Weblogic-SSRF漏洞复现

0x00简介WebLogic是美国Oracle公司出品的一个application server确切的说是一个基于JAVAEE架构的中间件,BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。SSRF简介服务端请求伪造(Server-Side Request Forgery)…

python 字符串unicode编码_python的string与Unicode转换,gbk字符串编码

问题一字串前面少了u。当遇见以下情况。返回字符串为\u82f9\u679c的unicode时候。str1 \u82f9\u679c # 这里没有u,当传入参数不是unicode的时候print str1 # 结果是 : \u82f9\u679cprint u\u82f9\u679c # 结果是 : 苹果解决方法:加上ustr1 \u82f9\u679…