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

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

分两种情况:

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

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

二、PHPMailer的下载

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

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

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

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

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

/**

* 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' => '成功发送邮件消息'] ;

}

}

}

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

  1. php引入PHPMailer发送邮件

    昨天做了一个发送邮件的功能,如果直接用mail()函数,需要拥有自己的邮件服务器,所有引入PHPMailer类方便快捷,简单写一下开发步骤: 一.拥有自己的邮箱账号(作为发件人邮箱) 分两种情况: 1 ...

  2. 邮箱通知php,PHPMailer 发送邮件(含详细介绍及使用方法说明)

    上篇文章PHP mail()方法发送邮件部分邮箱无法收到邮件问题提到要介绍一下phpmailer这款免费开源的php 邮件程序,下面我们来看看吧,以下资料全部来自phpmailer官方网站: PHPM ...

  3. php发送exmail邮箱,WordPress无插件完美实现邮箱SMTP发件功能

    搜索热词 下面是编程之家 jb51.cc 通过网络收集整理的代码片段.编程之家小编现在分享给大家,也给大家做个参考. 之前只能收到在其他博客里留言被回复的通知,试了好几次自己博客的始终无法完成这一点, ...

  4. phpmailer 私密抄送_使用 phpmailer 发送邮件,支持抄送、密送和发送附件

    1.使用 composer 下载 phpmailercomposer require phpmailer/phpmailer 2.自定义 Mailer.php 文件,我使用的是TP5.1的框架测试,可 ...

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

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

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

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

  7. PHP下利用PHPMailer配合QQ邮箱下的域名邮箱发送邮件

    作为PHP入门开发者,常常有这种述求:自己的网站中需要添加一个使用自己的域名作为发件人邮件地址的自动发送邮件的方法,用于诸如给用户发送验证码.通知信息等.比如:我的某个用户注册模块,需要使用regis ...

  8. iis+php发送邮箱,DedeCMS用PHPMailer自定义表单发送到QQ邮箱

    DedeCMS自定义表单提交后发送到指定邮箱的功能需要二次开发,但目前的许多方法都是写死字段,而且站长邮箱不能批量给多个邮箱发布,用起来不太人性化.下面提供能同时给多个QQ邮箱和163邮箱的方法. 相 ...

  9. 板邓:PHP下利用PHPMailer配合QQ邮箱下的域名邮箱发送邮件(转)

    作为PHP入门开发者,常常有这种述求:自己的网站中需要添加一个使用自己的域名作为发件人邮件地址的自动发送邮件的方法,用于诸如给用户发送验证码.通知信息等.比如:我的某个用户注册模块,需要使用regis ...

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

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

最新文章

  1. 代码签名证书Authenticode签名伪造——PE文件的签名伪造与签名验证劫持
  2. 计算机秋招必备!上海互联网大厂企业整理清单!
  3. P2388 阶乘之乘
  4. 在Linux中GNU的名词解释,GNU在GNU / Linux操作系统中的主要贡献是什么...
  5. yarn当中各个主要组件的作用及调度器
  6. 2017CCPC哈尔滨赛区总结
  7. pta:6-1单链表逆转(20分)
  8. Go slice切片的“陷阱”和本质
  9. 与孩子一起学编程09章
  10. Linux下fat32文件系统变为只读
  11. 【PFC】PFC设置 H3C交换机设置和主机设置--编辑中
  12. QLabel显示QImage时报错
  13. 用nvidia-docker跑深度学习模型
  14. 成为技术传播者(二):Why and Why NOT
  15. 如何把img格式转换成vmdk格式
  16. Web 网页通信之长连接、长轮询
  17. 程序员的职业规划_程序员如何能做好职业规划,走出迷惘呢?这个能力矩阵法要告诉你...
  18. 【Vue】Emitted value instead of an instance of Error
  19. 运筹学基础【三】 之 决策
  20. centos7模板机的搭建

热门文章

  1. 产品设计:Material Design 学习笔记一
  2. 长链接转短链接 在线工具详细教程——附上各大短网址性能详细评测
  3. 计算机网络--七层结构(三)传输层详解
  4. Python爬取EF每日英语资源
  5. 倾斜摄影技术构建 WebGIS 智慧展馆 | 图扑软件
  6. u盘写保护+计算机管理,电脑如何去除u盘写保护?
  7. startup.bat闪退解决
  8. 如何从tomcat官网下载自己需要的版本
  9. win的反义词_小学英语常见的120对反义词大全,聪明的小升初家长快来收藏学习...
  10. Excel分组数据、并创建多个新Excel文件