昨天做了一个发送邮件的功能,如果直接用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. 面试高频题:Hash一致性算法是如何解决数据倾斜问题的?
  2. QQ“远程协助”文字输入技巧
  3. python ui自动化测试框架_基于python语言下的UI自动化测试框架搭建(一)
  4. python缩进用什么键盘好_python中缩进使用空格还是tab键
  5. 数据结构铁轨问题_每天5分钟用C#学习数据结构(20)图 Part 1
  6. 关于StringIndexOutOfBoundsException那些事~
  7. python收集参数_Python 中函数的 收集参数 机制
  8. 构建LVS+Keepalived高可用群集
  9. win7电脑桌面壁纸曝光过高影响图标怎么办?亲测实用解决方法
  10. 工作记录——本周小结
  11. 怎么创建css样式表,怎样创建可反复使用的外部CSS样式表?
  12. 图像检测与分割标注文件XML/JSON/TXT一键批量转换编辑软件
  13. 树莓派Zero 2W python3.7 安装tensorflow2.2
  14. 万国数据表现不佳的风险很高
  15. 用T5UIC1 4.3寸串口屏做动画
  16. 回答朋友关于微信CRM系统如何使用的问题
  17. 活久见系列:关于袁老的事情,还是说两句吧
  18. HTML+CSS+JS——动漫风二次元论坛(2页) HTML5网页设计成品_学生DW静态网页设计代做_web课程设计网页制作
  19. 根据词云寻找对应文章的Web开发
  20. 【UCIe】UCIe DLP/DLLP 介绍

热门文章

  1. mysql select 临时表_mysql临时表的产生
  2. Mybatis注解实现DAO层
  3. 计算机博士职业规划,博士职业生涯规划
  4. Hibernate HHH000179警告和narrow proxy
  5. nacos指定外网ip
  6. 云服务器安全配置开放哪些端口
  7. 阔别263天游戏版号回归:巨头无缘,投资机会从何凸显?
  8. 计算机应用高级工程师,高级工程师职称考试项目
  9. oeasy教您玩转vim - 43 - # 替换模式
  10. html中用于超链接的标签,html中,超链接用的是什么标签