PHP借助phpmailer发送邮件


Posted in PHP onMay 11, 2015

本地没有发邮件的服务器,借助现成的SMTP服务器发送邮件是个不错的选择,这里使用到的工具是phpmailer ( Version 5.2.0),SMTP服务器就选gmail和163。

1. 使用gmail发送的脚本

include("class.phpmailer.php");
include("class.smtp.php");
//获取一个外部文件的内容
$mail       = new PHPMailer();
$body       = file_get_contents('contents.html');
$body       = eregi_replace("[\]",'',$body);
//设置smtp参数
$mail->IsSMTP();
$mail->SMTPAuth  = true;
$mail->SMTPKeepAlive = true;
$mail->SMTPSecure = "ssl";
$mail->Host    = "smtp.gmail.com";
$mail->Port    = 465;
//填写你的gmail账号和密码
$mail->Username  = "yourname@gmail.com";
$mail->Password  = "password";
//设置发送方,最好不要伪造地址
$mail->From    = "yourname@gmail.com";
$mail->FromName  = "Webmaster";
$mail->Subject  = "This is the subject";
$mail->AltBody  = $body;
$mail->WordWrap  = 50; // set word wrap
$mail->MsgHTML($body);
//设置回复地址
$mail->AddReplyTo("yourname@gmail.com","Webmaster");
//添加附件,此处附件与脚本位于相同目录下
//否则填写完整路径
$mail->AddAttachment("attachment.jpg");
$mail->AddAttachment("attachment.zip");
//设置邮件接收方的邮箱和姓名
$mail->AddAddress("toname@gmail.com","FirstName LastName");
//使用HTML格式发送邮件
$mail->IsHTML(true);
//通过Send方法发送邮件
//根据发送结果做相应处理
if(!$mail->Send()) {
 echo "Mailer Error: " . $mail->ErrorInfo;
} else {
 echo "Message has been sent";
}

2.使用163发送邮件的脚本

只需要更改SMTP配置和账户密码即可,SMTP配置如下

//设置smtp参数
//注意这里不需要ssl协议
$mail->IsSMTP();
$mail->SMTPAuth  = true;
$mail->SMTPKeepAlive = true;
$mail->Host    = "smtp.163.com";
$mail->Port    = 25;

在本地wampserver环境下测试通过,需要开启php_openssl 扩展。

以上所述就是本文的全部内容了,希望大家能够喜欢。

PHP 相关文章推荐
PHP3 safe_mode 失效漏洞
Oct 09 PHP
解决PHP在DOS命令行下却无法链接MySQL的技术笔记
Dec 29 PHP
PHP面向对象学习笔记之二 生成对象的设计模式
Oct 06 PHP
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
Feb 06 PHP
Fatal error: session_start(): Failed to initialize storage module: files问题解决方法
May 04 PHP
再Docker中架设完整的WordPress站点全攻略
Jul 29 PHP
编写PHP脚本使WordPress的主题支持Widget侧边栏
Dec 14 PHP
thinkPHP自动验证、自动添加及表单错误问题分析
Oct 17 PHP
php加密之discuz内容经典加密方式实例详解
Feb 04 PHP
PHP进阶学习之命名空间基本用法分析
Jun 18 PHP
Laravel 微信小程序后端实现用户登录的示例代码
Nov 26 PHP
PHP安装扩展mcrypt以及相关依赖项深入讲解
Mar 04 PHP
PHP date函数常用时间处理方法
May 11 #PHP
护卫神php套件 php版本升级方法(php5.5.24)
May 10 #PHP
php.ini中的request_order推荐设置
May 10 #PHP
浅析iis7.5安装配置php环境
May 10 #PHP
将PHP从5.3.28升级到5.3.29时Nginx出现502错误
May 09 #PHP
php序列化函数serialize() 和 unserialize() 与原生函数对比
May 08 #PHP
php中header跳转使用include包含解决参数丢失问题
May 08 #PHP
You might like
使PHP自定义函数返回多个值
2006/11/26 PHP
PHP编程中字符串处理的5个技巧小结
2007/11/13 PHP
php数组函数序列之sort() 对数组的元素值进行升序排序
2011/11/02 PHP
php获取$_POST同名参数数组的实现介绍
2013/06/30 PHP
php5.2以下版本无json_decode函数的解决方法
2014/05/25 PHP
PHP利用MySQL保存session的实现思路及示例代码
2014/09/09 PHP
Codeigniter框架实现获取分页数据和总条数的方法
2014/12/05 PHP
php实现简单的语法高亮函数实例分析
2015/04/27 PHP
php+mysql实现无限级分类
2015/11/11 PHP
php使用include 和require引入文件的区别
2017/02/16 PHP
js获取单选按钮的数据
2006/11/27 Javascript
完整显示当前日期和时间的JS代码
2007/09/17 Javascript
文本框获得焦点和失去焦点的判断代码
2012/03/18 Javascript
js中如何把字符串转化为对象、数组示例代码
2013/07/17 Javascript
Jquery跨浏览器文本复制插件Zero Clipboard的使用方法
2016/02/28 Javascript
全面介绍javascript实用技巧及单竖杠
2016/07/18 Javascript
jquery把int类型转换成字符串类型的方法
2016/10/07 Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
2016/12/29 Javascript
浅谈React和Redux的连接react-redux
2017/12/04 Javascript
在vue中实现点击选择框阻止弹出层消失的方法
2018/09/15 Javascript
javascript中join方法实例讲解
2019/02/21 Javascript
[02:37]TI8勇士令状不朽珍藏II视频展示
2018/06/23 DOTA
Python使用numpy实现BP神经网络
2018/03/10 Python
flask框架实现连接sqlite3数据库的方法分析
2018/07/16 Python
django的聚合函数和aggregate、annotate方法使用详解
2019/07/23 Python
OpenCV 表盘指针自动读数的示例代码
2020/04/10 Python
python 调用API接口 获取和解析 Json数据
2020/09/28 Python
有关HTML5 Video对象的ontimeupdate事件(Chrome上无效)的问题
2013/07/19 HTML / CSS
团日活动策划书
2014/02/01 职场文书
致跳远运动员加油稿
2014/02/11 职场文书
大学生党员自我批评
2014/02/14 职场文书
送餐员岗位职责范本
2014/02/21 职场文书
公证委托书
2014/08/01 职场文书
go xorm框架的使用
2021/05/22 Golang
pandas提升计算效率的一些方法汇总
2021/05/30 Python
Python采集爬取京东商品信息和评论并存入MySQL
2022/04/12 Python