昨天做了一个发送邮件的功能,如果直接用mail()函数,需要拥有自己的邮件服务器,所有引入PHPMailer类方便快捷,简单写一下开发步骤:

一、拥有自己的邮箱账号(作为发件人邮箱)

  分两种情况:

  1、如果是企业邮箱,需要用到的参数为邮箱号和密码

  2、如果是个人邮箱,需要用到的参数为邮箱号和授权码(只有开启之后才能通过PHP代码,控制邮件的自动发送)

二、PHPMailer的下载

  下载地址:https://github.com/PHPMailer/PHPMailer

  我这里是用的thinkphp 5,下载后放到vendor目录

三、封装发送邮件方法,设置相关参数

具体代码如下,这里我用的是企业邮箱,如果是个人邮箱,需更改以下几个参数值:

$mail->Host,$mail->Port,发件人邮箱密码(授权码)

<?php
/*** Created by PhpStorm.* User: Administrator* Date: 2018/10/15 0015* Time: 13:33*/namespace app\common\model;require VENDOR_PATH . 'PHPMailer/src/Exception.php';
require VENDOR_PATH . 'PHPMailer/src/PHPMailer.php';
require VENDOR_PATH . 'PHPMailer/src/SMTP.php';use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception ;
class Mail
{//发件人邮箱private static $_fromAddress = '***@medpeer.cn';//发件人邮箱登录密码(非企业邮箱为授权码)private static $_pwd = '***';//收件人邮箱private static $_toAddress = '***@medpeer.cn';/*** 发送邮件* @author ZZ* @param string $fromAddress 发件人* @param string $pwd 发件人登录密码* @param string $toAddress 收件人* @param string $title 邮件题目* @param string $content 邮件内容* @return array*/public function sendMail($title,$content,$toAddress = '',$fromAddress = '',$pwd = ''){if (empty($title) || empty($content)) {return ['result' => false, 'msg' => '参数错误'];}if (empty($fromAddress)) {$fromAddress = self::$_fromAddress;$pwd = self::$_pwd;}if (empty($toAddress)) {$toAddress = self::$_toAddress;}$mail = new PHPMailer();//告诉PHPMailer使用SMTP$mail->isSMTP();//启用S​​MTP调试// 0 =关闭(供生产使用)// 1 =客户端消息// 2 =客户端和服务器消息$mail->SMTPDebug = 2 ;//设置邮件服务器的主机名$mail->Host = 'smtp.exmail.qq.com';//使用// $ mail-> Host = gethostbyname('smtp.gmail.com');//如果您的网络不支持SMTP over IPv6//设置SMTP端口号 -  587用于经过身份验证的TLS,即RFC4409 SMTP提交$mail->Port = 465;//设置加密系统使用 -  ssl(不建议使用)或tls$mail->SMTPSecure = 'ssl';//是否使用SMTP身份验证$mail->SMTPAuth = true ;//用于SMTP身份验证的用户名 - 使用gmail的完整电子邮件地址$mail->Username = $fromAddress;//用于SMTP身份验证的密码(企业邮箱的话为登录密码)$mail->Password = $pwd;//设置发送的邮件的编码 可选GB2312 我喜欢utf-8 据说utf8在某些客户端收信下会乱码$mail->CharSet = 'UTF-8';//设置要从中发送消息的人员$mail->setFrom($fromAddress,'***');//设置备用回复地址//$mail->addReplyTo('***@qq.com','腾讯');//设置要将消息发送给谁$mail->addAddress($toAddress,'***');//设置主题行$mail->Subject = $title;//从外部文件中读取HTML邮件正文,将引用的图像转换为嵌入式图像//将HTML转换为基本的纯文本替代正文//$mail->msgHTML(file_get_contents(' contents.html '),__DIR__);//用手动创建的纯文本正文替换$mail->AltBody  = 'This is the body in plain text for non-HTML mail clients';$mail->Body  = $content;$result = $mail->send();if (!$result) {return ['result' => false, 'msg' => $mail->ErrorInfo];} else {return ['result' => true, 'msg' => '成功发送邮件消息'] ;}}
}

  

转载于:https://www.cnblogs.com/zzeng347/p/9796542.html

php引入PHPMailer发送邮件相关推荐

  1. PHPMailer——发送邮件函数封装

    源代码 <?php /** * 邮件发送 * @param $to 接收人 * @param string $subject 邮件标题 * @param string $content 邮件内容 ...

  2. php phpmailer 发送邮件

    /*发送邮件方法*@param $to:接收者 $title:标题 $content:邮件内容*@return bool true:发送成功 false:发送失败*/function sendMail ...

  3. php 发送邮件端口,PHP 使用 PHPMailer 发送邮件

    最近准备写一个个人博客,博客的用户注册和找回密码都需要邮件验证.PHP 虽然提供了 mail 函数来发送邮件,但是 mail 函数的功能限制较多,只能发送普通文本,如果要发送 HTML 或附件就比较麻 ...

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

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

  5. php phpmailer qq邮箱,QQ邮箱利用PHPmailer发送邮件

    require_once("class.phpmailer.php"); $mail = new PHPMailer(); //是否启用smtp的debug进行调试 开发环境建议开 ...

  6. php xls 邮件,PHPMailer发送邮件

    PHPMailer是一个封装好的PHP邮件发送类,支持发送HTML内容的电子邮件,以及图片附件,前提要设置好邮件服务器就能实现邮件发送功能. HTML 首先我们先放置一个收件箱的输入框和一个发送邮件按 ...

  7. php邮件中文乱码,phpmailer 发送邮件中文乱码问题的解决方法总结

    $mail = new PHPMailer();复制代码 2:设置邮件的编码: $mail->Charset='UTF-8';复制代码 相信有不少朋友是设置成"GBK"或&q ...

  8. php推送消息到邮箱,thinkphp3.2通过PHPMailer发送邮件推送消息

    thinkphp3.2通过PHPMailer发送邮件推送消息 1.首先下载PHPMailer: 2.在Controller中新增方法public function sendmail($title,$c ...

  9. thinkphp3.2 实现 Phpmailer 发送邮件 配置

    环境配置如下: PHp版本:5.4.27 ThinkPhp 框架 3.2 Apache 2.4.9 使用的是 Xampp 集成的环境 第一步: 我们建立一个 NewsController.class ...

最新文章

  1. 加解密基础——(对称加密、非对称加密和混合加密)
  2. php HASHTABLE 实现
  3. poj3191(负进位制)
  4. 不安全网络中的数据安全传输利器——GnuPG(下)
  5. awk读取txt生成mysql插入语句
  6. 武春岭 《C语言程序设计》教案PPT,重庆出版社出版,李勇主编的大一C语言课程ppt第1章.ppt...
  7. httpclient java 异步_Java的异步HttpClient
  8. 管理学基础 形成性考核一
  9. 23 android多线程
  10. 添加同名工具后台验证后不跳转且保留用户输入的数值
  11. 记事本编写Java代码
  12. 使用iMazing将iPad中的视频文件导出至电脑
  13. html语言剖析十六 调色原理
  14. 什么是生态型平台企业?
  15. 【JAVA】:java中getTime函数
  16. 基于java图书个性化推荐系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署
  17. iOS英语背单词神器-背轻松-单词卡APP系列推荐
  18. 厉害人们的真正减肥法随书光盘下载地址
  19. [益智]:消失的 1 元钱
  20. xhr是什么缩写_微博上xhr和fsr是什么意思 饭圈里指黄新淳毕雯珺

热门文章

  1. python中的新式类与旧式类的一些基于descriptor的概念(下)
  2. centos7安装JDK1.7
  3. 熵,交叉熵,散度理解较为清晰
  4. html,xml_网页开发_爬虫_笔记
  5. Pytorch: 命名实体识别: BertForTokenClassification/pytorch-crf
  6. Pytorch 多 GPU 并行处理机制
  7. python yield 和 return 对比分析
  8. Intel GPU实现游戏与数据中心
  9. 摄像头模组(CCM)与镀膜
  10. 使用Keil语言的嵌入式C编程教程(下)