PHP实现SMTP邮件的发送实例


Posted in PHP onSeptember 27, 2018

当你还在纠结php内置的mail()函数不能发送邮件时,那么你现在很幸运,此时的这篇文章可以帮助到你!

php利用smtp类来发邮件真是屡试不爽,我用过很久了,基本上没出过问题。本博客后台,当博主回复留言时候,会自动给网友发一封有新回复提示的邮件也是用的本文这个方法实现的。

smtp类发送邮件的方法其实很简单,也很稳定,类是别人已经写好的了,你只需要调用就行了。几行简单的配置就能发邮件,是不是很期待的试一试呢!

<?php
 
/**
 * @param $address mixed 收件人 多个收件人/或需要设置收件人昵称时为数组 array($address1,$address1)/array(array('address'=>$address1,'nickname'=>$nickname1),array('address'=>$address2,'nickname'=>$nickname2))
 * @param $subject string 邮件主题
 * @param $body string 邮件内容
 * @param $file string 附件
 * @return bool|string 发送成功返回true 反之返回报错信息
 * @throws Exception
 */
function send_mail_by_smtp($address, $subject, $body, $file = '')
{
 require('./PHPMailer-master/Exception.php');
 require('./PHPMailer-master/PHPMailer.php');
 require('./PHPMailer-master/SMTP.php');
 
 //date_default_timezone_set("Asia/Shanghai");//设定时区东八区
 
 $mail = new PHPMailer();
 
 //Server settings
 $mail->SMTPDebug = 2;
 $mail->isSMTP();     // 使用SMTP方式发送
 $mail->Host = 'smtp.126.com';    // SMTP邮箱域名
 $mail->SMTPAuth = true;    // 启用SMTP验证功能
 $mail->Username = "*****@126.com";   // 邮箱用户名(完整email地址)
 $mail->Password = "*****";    // smtp授权码,非邮箱登录密码
 $mail->Port = 25;
 $mail->CharSet = "utf-8";    //设置字符集编码 "GB2312"
 
 // 设置发件人信息,显示为 你看我那里像好人(xxxx@126.com)
 $mail->setFrom($mail->Username, '你看我那里像好人');
 
 //设置收件人 参数1为收件人邮箱 参数2为该收件人设置的昵称 添加多个收件人 多次调用即可
 //$mail->addAddress('********@163.com', '你看我那里像好人');
 
 if (is_array($address)) {
 foreach ($address as $item) {
 if (is_array($item)) {
 $mail->addAddress($item['address'], $item['nickname']);
 } else {
 $mail->addAddress($item);
 }
 }
 } else {
 $mail->addAddress($address, 'adsf');
 }
 
 
 //设置回复人 参数1为回复人邮箱 参数2为该回复人设置的昵称
 //$mail->addReplyTo('*****@126.com', 'Information');
 
 if ($file !== '') $mail->AddAttachment($file); // 添加附件
 
 $mail->isHTML(true); //邮件正文是否为html编码 true或false
 $mail->Subject = $subject; //邮件主题
 $mail->Body = $body;  //邮件正文 若isHTML设置成了true,则可以是完整的html字符串 如:使用file_get_contents函数读取的html文件
 //$mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; //附加信息,可以省略
 
 return $mail->Send() ? true : 'ErrorInfo:' . $mail->ErrorInfo;
}
 
$path = '.\wpic907.jpg';
$ret = send_mail_by_smtp('*******@163.com', 'PHPMailer邮件标题', 'PHPMailer邮件内容', $path);
PHP 相关文章推荐
PHP 内存缓存加速功能memcached安装与用法
Sep 03 PHP
PHP初学者常见问题集合 修正版(21问答)
Mar 23 PHP
PHP漏洞全解(详细介绍)
Nov 13 PHP
PHP闭包(Closure)使用详解
May 02 PHP
linux使用crontab实现PHP执行计划定时任务
May 10 PHP
php与flash as3 socket通信传送文件实现代码
Aug 16 PHP
php实现数组中索引关联数据转换成json对象的方法
Jul 08 PHP
yum命令安装php7和相关扩展
Jul 04 PHP
使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
Sep 15 PHP
浅谈PHP5.6 与 PHP7.0 区别
Oct 09 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
Feb 10 PHP
PHP实现rar解压读取扩展包小结
Jun 03 PHP
ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写方法
Sep 26 #PHP
thinkPHP利用ajax异步上传图片并显示、删除的示例
Sep 26 #PHP
多个Laravel项目如何共用migrations详解
Sep 25 #PHP
php中上传文件的的解决方案
Sep 25 #PHP
PHP调用微博接口实现微博登录的方法示例
Sep 22 #PHP
PHP如何搭建百度Ueditor富文本编辑器
Sep 21 #PHP
详解php协程知识点
Sep 21 #PHP
You might like
Yii分页用法实例详解
2014/12/04 PHP
遍历echsop的region表形成缓存的程序实例代码
2016/11/01 PHP
laravel框架 laravel-admin上传图片到oss的方法
2019/10/13 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
2019/10/17 PHP
JQuery 构建客户/服务分离的链接模型中Table分页代码效率初探
2010/01/22 Javascript
通过正则格式化url查询字符串实现代码
2012/12/28 Javascript
js获取url参数代码实例分享(JS操作URL)
2013/12/13 Javascript
JavaScript设计模式之工厂模式和构造器模式
2015/02/11 Javascript
在JavaScript中处理字符串之link()方法的使用
2015/06/08 Javascript
jQuery插件ajaxFileUpload使用实例解析
2016/10/19 Javascript
js 概率计算(简单版)
2017/09/12 Javascript
Node.js实现连接mysql数据库功能示例
2017/09/15 Javascript
NodeJS爬虫实例之糗事百科
2017/12/14 NodeJs
vue弹窗消息组件的使用方法
2020/09/24 Javascript
javascript实现前端成语点击验证优化
2020/06/24 Javascript
Flask框架的学习指南之用户登录管理
2016/11/20 Python
Python实现返回数组中第i小元素的方法示例
2017/12/04 Python
简单了解什么是神经网络
2017/12/23 Python
Java编程迭代地删除文件夹及其下的所有文件实例
2018/02/10 Python
python实现学生信息管理系统
2020/04/05 Python
Python获取系统所有进程PID及进程名称的方法示例
2018/05/24 Python
Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】
2019/01/05 Python
Python实现简单查找最长子串功能示例
2019/02/26 Python
Django中多种重定向方法使用详解
2019/07/17 Python
Spring @Enable模块驱动原理及使用实例
2020/06/23 Python
在 Python 中使用 MQTT的方法
2020/08/18 Python
python dict如何定义
2020/09/02 Python
html5实现微信打飞机游戏
2014/03/27 HTML / CSS
美国购车网站:TrueCar
2016/10/19 全球购物
小学三年级数学教学反思
2014/01/31 职场文书
小学校长竞聘演讲稿
2014/05/16 职场文书
缓刑人员思想汇报500字
2014/09/12 职场文书
教师批评与自我批评
2014/10/15 职场文书
2014年煤矿工作总结
2014/11/24 职场文书
技术股东合作协议书
2014/12/02 职场文书
Python实现文字pdf转换图片pdf效果
2022/04/03 Python