php5.5使用PHPMailer-5.2发送邮件的完整步骤


Posted in PHP onOctober 14, 2018

前言

这几天一直被邮件发送功能搞得头大,作为一个小白,遇到坑总是难免的。今天终于把phpmailer搞定了,下面就来总结一下

PHPMailer - A full-featured email creation and transfer class for PHP。

在PHP环境中可以使用PHPMailer来创建和发送邮件。

最新版本(20181012)是PHPMailer 6.0.5,这个无法兼容php5.5以下的环境。由于我需要维护php5.3的项目,需要切换到PHPMailer5.2来发送邮件。

下载地址: https://github.com/PHPMailer/PHPMailer/releases/tag/v5.2.24

下面话不多说了,来一起看看详细的介绍吧

基本使用

下载解压后。新建一个测试demo。

<?php
require 'PHPMailerAutoload.php';

$mail = new PHPMailer;

$mail->SMTPDebug = 3;        // Enable verbose debug output

$mail->isSMTP();          // Set mailer to use SMTP
$mail->Host = 'smtp.exmail.qq.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true;        // Enable SMTP authentication
$mail->Username = 'xxx@qq.com';     // SMTP username
$mail->Password = 'yourpassword';       // SMTP password
$mail->SMTPSecure = 'ssl';       // Enable TLS encryption, `ssl` also accepted
$mail->Port = 465;         // TCP port to connect to

$mail->setFrom('fromWho@qq.com', 'Mailer');
$mail->addAddress('toWhom@qq.com', 'Ryan Miao');  // Add a recipient
$mail->addAddress('ellen@example.com');    // Name is optional
// $mail->addReplyTo('info@example.com', 'Information');
$mail->addCC('cc@example.com');
$mail->addBCC('bcc@example.com');

$mail->addAttachment('/var/tmp/file.tar.gz');   // Add attachments
$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name
$mail->isHTML(true);         // Set email format to HTML

$mail->Subject = 'Here is the subject';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

if(!$mail->send()) {
 echo 'Message could not be sent.';
 echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
 echo 'Message has been sent';
}

开启SMTPDebug可以查看日志

 `0` No output
 `1` Commands
 `2` Data and commands
 `3` As 2 plus connection status
 `4` Low-level data output

错误信息保存在 $mail->ErrorInfo对象中。

保存为mail.php, 命令行执行

php mail.php

即可看到日志,以及邮件发送成功。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
无数据库的详细域名查询程序PHP版(5)
Oct 09 PHP
PHP strtok()函数的优点分析
Mar 02 PHP
PHP编码转换
Nov 05 PHP
php5.3 goto函数介绍和示例
Mar 21 PHP
关于URL最大长度限制的相关资料查证
Dec 23 PHP
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
Apr 26 PHP
PHP session文件独占锁引起阻塞问题解决方法
May 12 PHP
php遍历树的常用方法汇总
Jun 18 PHP
PHP实现文件上传下载实例
Oct 18 PHP
phpinfo()中Loaded Configuration File(none)的解决方法
Jan 16 PHP
PHP校验15位和18位身份证号的类封装
Nov 07 PHP
PHP attributes()函数讲解
Feb 03 PHP
PHP中常见的密码处理方式和建议总结
Oct 14 #PHP
PHP如何根据文件头检测文件类型实例代码
Oct 14 #PHP
PHP5.0 TIDY_PARSE_FILE缓冲区溢出漏洞的解决方案
Oct 14 #PHP
PHP按一定比例压缩图片的方法
Oct 12 #PHP
PHP实现图片压缩
Sep 09 #PHP
PHP获取数据库表中的数据插入新的表再原删除数据方法
Oct 12 #PHP
thinkphp5.0整合phpsocketio完整攻略(绕坑)
Oct 12 #PHP
You might like
PHP将HTML转换成文本的实现代码
2015/01/21 PHP
PHP直接修改表内容DataGrid功能实现代码
2015/09/24 PHP
php+ajax无刷新上传图片实例代码
2015/11/17 PHP
WordPress主题制作之模板文件的引入方法
2015/12/28 PHP
Laravel手动分页实现方法详解
2016/10/09 PHP
PHP实现的XXTEA加密解密算法示例
2018/08/28 PHP
HTTP头隐藏PHP版本号实现过程解析
2020/12/09 PHP
一个用js实现控制台控件的代码
2007/09/04 Javascript
Extjs4 GridPanel的主要配置参数详细介绍
2013/04/18 Javascript
jquery中html、val与text三者属性取值的联系与区别介绍
2013/12/29 Javascript
js隐式全局变量造成的bug示例代码
2014/04/22 Javascript
基于Node.js的WebSocket通信实现
2017/03/11 Javascript
javascript实现循环广告条效果
2017/12/12 Javascript
JS打印彩色菱形的实例代码
2018/08/15 Javascript
详解element-ui中el-select的默认选择项问题
2019/08/02 Javascript
关于Layui Table隐藏列问题
2019/09/16 Javascript
Sublime Text3 配置 NodeJs 环境的方法
2020/05/20 NodeJs
五句话帮你轻松搞定js原型链
2020/12/09 Javascript
Python实现二维数组输出为图片
2018/04/03 Python
ipython和python区别详解
2019/06/26 Python
在django admin中添加自定义视图的例子
2019/07/26 Python
python实现XML解析的方法解析
2019/11/16 Python
使用python切片实现二维数组复制示例
2019/11/26 Python
Python networkx包的实现
2020/02/14 Python
墨西哥皇宫度假村预订:Palace Resorts
2018/06/16 全球购物
如何提高MySql的安全性
2014/06/19 面试题
白酒业务员岗位职责
2013/12/27 职场文书
幼儿园教师培训制度
2014/01/16 职场文书
《小白兔和小灰兔》教学反思
2014/02/18 职场文书
党支部承诺书范文
2014/03/28 职场文书
公司运动会策划方案
2014/05/25 职场文书
碧霞祠导游词
2015/02/09 职场文书
设备技术员岗位职责
2015/04/11 职场文书
2019个人年度目标制定攻略!
2019/07/12 职场文书
Pytorch数据读取之Dataset和DataLoader知识总结
2021/05/23 Python
Vue-Element-Admin集成自己的接口实现登录跳转
2021/06/23 Vue.js