phpmailer实现简单的邮件发送(以网易邮箱smtp服务器为例)
来源:互联网 发布:下载12360软件下载 编辑:程序博客网 时间:2024/06/06 03:23
1、描述
第一次做到用php做到发送邮件的功能。
Google了一下,php内置函数里面有一个mail()函数。但是使用mail的话,会涉及到很多问题,我也没有仔细研究过,反正都是和smtp协议息息相关。
于是,就去GitHub上开源的文件发送封装好的项目。后来就搜索到PHPMailer这个东西了。传送门:https://github.com/PHPMailer/PHPMailer (自行翻墙) 不多说,下载下来。
2、使用
当读完phpmailer的文档之后,你会找个一个最简单的demo。但是这个demo会加载一些‘不单纯’的邮件发送函数,比如附件发送,图片发送之类。我们这边只考虑最简单的。所以我们把class.phpmailer.php。class.smtp.php两个文件拿出来,他们是实现邮件发送和SMTP服务的关键。然后我们自己建立一个文件send.php 代码如下:
<?php/** * Created by PhpStorm. * User: tao * Date: 2017/3/14 * Time: 下午5:41 * Description: */echo postmail('目标邮箱','My subject','hello world');function postmail($to,$subject = '',$body = ''){ //Author:Jiucool WebSite: http://www.jiucool.com //$to 表示收件人地址 $subject 表示邮件标题 $body表示邮件正文 //error_reporting(E_ALL); error_reporting(E_STRICT); date_default_timezone_set('Asia/Shanghai');//设定时区东八区 require_once('class.phpmailer.php'); include('class.smtp.php'); $mail = new PHPMailer(); //new一个PHPMailer对象出来 $body = eregi_replace("[\]",'',$body); //对邮件内容进行必要的过滤 $mail->CharSet ="GBK";//设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码 $mail->IsSMTP(); // 设定使用SMTP服务 $mail->SMTPDebug = 1; // 启用SMTP调试功能 // 1 = errors and messages // 2 = messages only $mail->SMTPAuth = true; // 启用 SMTP 验证功能 $mail->SMTPSecure = "ssl"; // 安全协议,可以注释掉 $mail->Host = 'smtp.163.com'; // SMTP 服务器// $mail->Port = 25; // SMTP服务器的端口号 $mail->Port = 465; // SMTP服务器的端口号 $mail->Username = '****网易邮箱的账号'; // SMTP服务器用户名,PS:我乱打的 $mail->Password = '****网易邮箱的密码'; // SMTP服务器密码 $mail->SetFrom('网易邮箱的账号@163.com', 'blue');// $mail->AddReplyTo('xxx@xxx.xxx','who'); $mail->Subject = $subject; $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional, comment out and test $mail->MsgHTML($body); $address = $to; $mail->AddAddress($address, ''); //$mail->AddAttachment("images/phpmailer.gif"); // attachment //$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment if(!$mail->Send()) { return 'Mailer Error: ' . $mail->ErrorInfo; } else { return "Message sent!恭喜,邮件发送成功!"; }}
参照demo,正确填写你的邮箱账号和你要的内容就可以正常发送了,但是我测试的时候会发送到垃圾邮件中,记得做好友好提示。
3、 备注
类似的smtp.qq.com 也能提供smtp服务,但是具体的话,要上网了解,最好登录自己的邮箱进行查看,支持的安全协议是什么。端口是什么,都要一一对应的。不然会报错,还有就是我是在线上测试的,本地测试的时候会报connect错误,自行解决了。更多的发送内容的话,参照demo和官方给的demo就能解决了。
0 0
- phpmailer实现简单的邮件发送(以网易邮箱smtp服务器为例)
- Java实现自动发送带附件的邮件(网易邮箱为例)
- 使用JavaMail进行简单SMTP邮件发送测试,从网易邮箱发送到QQ邮箱
- phpmailer 发送邮件,利用公司邮箱服务器
- Bugfree邮件发送设置(以QQ邮箱为例)
- Bugfree邮件发送设置(以QQ邮箱为例)
- java邮件发送(以163邮箱为例)
- PHP 实现 注册等的邮箱验证 (二)—— 使用 PHPMailer 发送邮件
- 关于PHP 发送SMTP邮件 的邮件类phpmailer 参数
- Python3实现163邮箱SMTP发送邮件
- JAVA发送简单邮件(QQ邮箱为例)
- 简单的java实现邮箱发送邮件
- 简单的java实现邮箱发送邮件
- Python使用SMTP发送邮件(163,yeah等网易邮箱已测试可以)
- 纯Java实现网易邮箱发送邮件
- 程序实现邮件发送(新浪邮箱为例)
- 网易邮箱发送邮件
- Python发送邮件(以163邮箱为例)
- 手机端调用相机上传图片
- 第十、Java的二维数组
- PTA 阶乘升级版
- 实现基于内存的HPA
- ACM习题O-15
- phpmailer实现简单的邮件发送(以网易邮箱smtp服务器为例)
- Android开发人员不得不收集的代码(持续更新中)
- java线程池
- ios plist文件存储数据
- ubuntu16.04 安装 eclipse
- java笔试题
- 框架的使用(六):scrapy
- java中IO
- SSM框架搭建及源码解析--AOP源码解析(五)