在 PHP 应用开发中,往往需要验证用户邮箱、发送消息通知,而使用 PHP 内置的 mail() 函数,则需要邮件系统的支持。

如果熟悉 IMAP/SMTP 协议,结合 Socket 功能就可以编写邮件发送程序了,不过开发这样一个程序并不容易。

好在 PHPMailer 封装的足够强大,使用它可以更加便捷的发送邮件,免去了我们很多额外的麻烦。


首先,修改中的一些配置

  1. extension=  前面的分号去掉

  2. allow_url_fopen = Off   改为   allow_url_fopen = On

PHPMailer 是一个封装好的 PHP 邮件发送类,支持发送 HTML 内容的电子邮件,以及可以添加附件发送,并不像 PHP 本身 mail() 函数需要服务器环境支持,您只需要设置邮件服务器以相关信息就能实现邮件发送功能。

PHPMailer 项目地址:https://github.com/PHPMailer/PHPMailer

PHPMailer 需要 PHP 的 sockets 扩展支持,而登录 QQ 邮箱 SMTP 服务器则必须通过 SSL 加密,故 PHP 还得包含 openssl 的支持。

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

我们需要下载的phpmailer文件:点击下载

↑ 在本文中只需要将下载的压缩包解压到当前TP5框架下的extend文件夹中

选择账户

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

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

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

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

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

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

Loader::import('');//加载extend中的自定义类
$mail = new \PHPMailer\PHPMailer(); //实例化
header("content-type:text/html;charset=utf-8");
// 使用SMTP方式发送
$mail->IsSMTP();
// 设置邮件的字符编码
$mail->CharSet='UTF-8';
// 企业邮局域名
$mail->Host = '';
//---------qq邮箱需要的------//设置使用ssl加密方式登录鉴权
$mail->SMTPSecure = 'ssl';
//设置ssl连接smtp服务器的远程服务器端口号 可选465或587
$mail->Port = 465;//---------qq邮箱需要的------
// 启用SMTP验证功能
$mail->SMTPAuth = true;
//邮件发送人的用户名(请填写完整的email地址)
$mail->Username = '123456789@' ;
// 邮件发送人的 密码 (授权码)
$mail->Password = '修改为自己的授权码';  //修改为自己的授权码
//邮件发送者email地址
$mail->From ="123456789@";
//发送邮件人的标题
$mail->FromName ="123456789@";
//收件人的邮箱 给谁发邮件
$email_addr = "收件人邮箱";
//收件人地址,可以替换成任何想要接收邮件的email信箱,格式是AddAddress("收件人email","收件人姓名")
$mail->AddAddress("$email_addr", substr(  $email_addr, 0 , strpos($email_addr ,'@')));
//回复的地址
$mail->AddReplyTo('123456789@' , "" );
$mail->AddAttachment("./"); // 添加附件
//set email format to HTML //是否使用HTML格式
$mail->IsHTML(true);
//邮件标题
$mail->Subject = '邮件标题';
//邮件内容
$mail->Body =  "<p style='color:red'>" . '邮件内容' . '</p>';
//附加信息,可以省略
$mail->AltBody = '';
// 添加附件,并指定名称
$mail->AddAttachment( './' ,'php文件');
//设置邮件中的图片
$mail->AddEmbeddedImage("", "my-attach", "");if( !$mail->Send() ){$mail_return_arr['mark'] = false ;$str  =  "邮件发送失败. <p>";$str .= "错误原因: " . $mail->ErrorInfo;$mail_return_arr['info'] = $str ;}else{$mail_return_arr['mark'] = true ;$str =  "邮件发送成功";$mail_return_arr['info'] = $str ;}echo "<pre>";print_r( $mail_return_arr);

将上述代码修改为自己需要的就搞定了!

当你的才华还撑不起你的野心的时候,你就应该静下心来学习;当你的能力还驾驭不了你的目标时,就应该沉下心来,历练;梦想,不是浮躁,而是沉淀和积累,只有拼出来的美丽,没有等出来的辉煌,机会永远是留给最渴望的那个人,学会与内心深处的你对话,问问自己,想要怎样的人生,静心学习,耐心沉淀,送给自己,共勉。

手机邮箱看不到已发送邮件_TP5实现邮件发送(PHP 利用QQ邮箱发送邮件「PHPMailer」) - blog_zss小帅-博客猿...相关推荐

  1. php如何调用163邮箱发邮件,ThinkPHP3.2利用QQ邮箱/163邮箱通过PHPMailer发送邮件的方法...

    前言 我之前一直使用163邮箱发送需要处理的文件,但是如果操作过于频繁[或者有别的问题],会导致发送失败,相反现在用QQ的貌似还没出现过类似情况,不过QQ邮箱配置和163有一丢丢不一样,我还是贴一下, ...

  2. php模拟登录qq邮箱_PHP 利用QQ邮箱发送邮件的实现

    这篇文章主要介绍了关于PHP 利用QQ邮箱发送邮件的实现,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下在 PHP 应用开发中,往往需要验证用户邮箱.发送消息通知,而使用 PHP 内置的 ...

  3. ABP VNext 利用QQ邮箱发送邮件

    ABP VNext 利用QQ邮箱发送邮件 1.配置邮箱 1.1 设置 1.2账户 1.3 开启邮箱服务 1.4 生成授权码 2 默认的SmtpEmailSender发送邮件 2.1 生成数据库 2.2 ...

  4. Mac邮件客户端怎么添加QQ邮箱

    Mac邮件客户端怎么添加QQ邮箱?在mac电脑中,默认是没有qq邮箱的,如果需要使用QQ邮箱就需要我们手动添加一下.那么该如何在MAC OS添加QQ邮箱呢?以下文章就告诉你mac电脑添加qq邮箱的方法 ...

  5. Windows系统自带邮件软件中绑定QQ邮箱具体操作

    引言 Windows系统自带了一个邮件应用,那么如何在该邮件应用里面绑定QQ邮箱呢? 教程 1.进入QQ邮箱官网,点击设置-账户,点击开启IMAP/SMTP服务 2.用密保手机发送短信配置邮件客户端到 ...

  6. php邮件发送tp,在Thinkphp3.2 中使用PHPMailer 发送邮件

    phpmailer发送邮件是php开发者首选的一个邮件发送插件了,下面我来介绍怎么集成phpmailer到thinkphp框架了,有需要了解的朋友可参考. phpmailer发送邮件功能很强大,今天真 ...

  7. java qq邮箱服务器端口_[Java教程]javamail 利用qq邮箱做邮箱服务器,简单小demo

    [Java教程]javamail 利用qq邮箱做邮箱服务器,简单小demo 0 2016-07-12 10:00:10 首先maven:javax.mailmail1.4.1 用户名密码验证:1 pu ...

  8. mac系统中自带的邮件程序如何添加qq邮箱帐号?

    mac系统中自带的邮件程序怎么添加qq邮箱帐号?工作总最常用的就是qq邮箱,想把qq邮箱添加到mac系统自带的邮件中去,该怎么设置呢?下面我们来看看mac系统添加qq邮箱的方法. 各位使用苹果系统的小 ...

  9. foxmail邮件加载失败重试_TP5实现邮件发送(PHP 利用QQ邮箱发送邮件「PHPMailer」)...

    修改php.ini中的一些配置 extension=php_openssl.dll //前面的分号去掉,allow_url_fopen = Off 改为 allow_url_fopen = On PH ...

最新文章

  1. jQuery日期选择器插件date-input
  2. 【java】兴唐第二十一节(LinkedList和泛型)
  3. XML序列化和反序列化(C#)
  4. 每日一皮:一个名字打败对手的经典案例...
  5. 渗透知识-编译器漏洞
  6. MySQL用中间件ProxySQL实现读写分离和主节点故障应用无感应
  7. class传参 python_Python类的概念、定义、属性、继承
  8. sql排名名次分页mysql_mysql 实现排名及中文排序实例[分页累加行号]
  9. 关于三甲医院转行IT 医生家属说两句
  10. wxpython 优秀的界面_好用的 wxPython 界面設計工具 — wxFormBuilder
  11. 3dmax9中文版注册机
  12. CountDownLatch详解
  13. c语言e怎么表示_C语言编程基础知识汇总学习,适合初学者!
  14. 易福门流量计SA5000
  15. 一个专门帮助前端搞副业的社群
  16. 区块链基础知识与关键技术解析
  17. 对于自学Java的人来说,如何系统的,全方面的学习Java?
  18. 面试题一(计算机基础、逻辑)
  19. 李俊的人生病毒:靠熊猫烧香成毒王,网赌7000万二进宫!
  20. php中英文章,PHP 中英文混合排版中处理字符串常用的函数

热门文章

  1. java怎样调用dll 广东精鹰软件工作室(刘正仁)
  2. 网页设计大赛大神养成之路第一天
  3. 有道写作浏览器扩展实践
  4. 爬虫:SNKRS电商网站应该怎么反爬,反BOT
  5. linux照片备份软件,照片视频备份软件下载-照片视频备份云相册安卓版v1.0.1-Linux公社...
  6. 中国Linux的杰出人物
  7. 经典的非标自动化设备联网解决方案
  8. js的3des加解密和c#.net后台解密
  9. vue3全局挂载组件
  10. python人脸识别实验报告总结_Python 使用 face_recognition 人脸识别