php自动发送邮件,PHP实现自动发送邮件功能代码(qq 邮箱)_php实例
本文给大家分享以qq邮箱为例给大家介绍PHP实现自动发送邮件功能代码,感兴趣的朋友参考下吧
最近做一个邮箱验证的功能,研究了一会,搞定了邮件的自动发送。下面用qq邮箱作为演示,一步一步来解释:
代码下载地址
首先,就是做到邮件的发送,代码如下:
//邮件发送
require './mailer/class.phpmailer.php';
require './mailer/class.smtp.php';
date_default_timezone_set('PRC');//设置邮件发送的时间,如果不设置,则会显示其他区的时间
$mail = new PHPMailer();
//是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式
$mail->SMTPDebug = 3;
//使用smtp鉴权方式发送邮件,当然你可以选择pop方式 sendmail方式等 本文不做详解
//可以参考http://phpmailer.github.io/PHPMailer/当中的详细介绍
$mail->isSMTP();
//smtp需要鉴权 这个必须是true
$mail->SMTPAuth=true;
//链接qq域名邮箱的服务器地址
$mail->Host = 'smtp.qq.com';
//设置使用ssl加密方式登录鉴权
$mail->SMTPSecure = 'ssl';
//设置ssl连接smtp服务器的远程服务器端口号 可选465或587
$mail->Port = 465;
//设置发件人的主机域 可有可无 默认为localhost 内容任意,建议使用你的域名,这里为默认localhost
$mail->Hostname = 'localhost';
//设置发送的邮件的编码 可选GB2312
$mail->CharSet = 'UTF-8';
//设置发件人姓名(昵称)可为任意内容,不影响回复(设置为qq昵称即可)
$mail->FromName = 'XXXX';
//smtp登录的账号 这里填入qq号即可
$mail->Username ='发送者的QQ号';
//smtp登录的密码 这里填入“独立密码” 若为设置“独立密码”则填入登录qq的密码 建议设置“独立密码”
$mail->Password = 'QQ邮箱的登录密码';
//设置发件人邮箱地址 这里填入上述提到的“发件人邮箱”
$mail->From = '发送者的QQ邮箱';
//邮件正文是否以html方式发送
$mail->isHTML(true);
//设置收件人邮箱地址 该方法有两个参数 第一个参数为收件人邮箱地址 第二参数为给该地址设置的昵称 不同的邮箱系统会自动进行处理变动 这里第二个参数的意义不大
$mail->addAddress('收件人的QQ邮箱地址','QQ昵称');
//可添加多个收件人
//$mail->addAddress('XXXX@qq.com','XXXXX');
//添加该邮件的主题
$mail->Subject = '这是一个PHPMailer发送邮件的示例';
//添加邮件正文
$mail->Body = "这是一个PHPMailer发送邮件的一个测试用例";
//为该邮件添加附件 该方法也有两个参数 第一个参数为附件存放的目录(相对目录、或绝对目录均可)
//第二参数为在邮件附件中该附件的名称
$mail->addAttachment('./src/20151002.png','test.png');
//同样该方法可以多次调用 上传多个附件
//$mail->addAttachment('./Jlib-1.1.0.js','Jlib.js');
//发送命令 返回布尔值
//PS:经过测试,要是收件人不存在.若不出现错误依然返回true也就是说在发送之前
//自己需要些方法实现检测该邮箱是否真实有效
$status = $mail->send();
//简单的判断与提示信息
if($status)
{
echo '发送邮件成功'.date('Y-m-d H:i:s');;
}
else
{
echo '发送邮件失败,错误信息未:'.$mail->ErrorInfo;
}
?>
这样就可以实现邮件的发送了。结果如下:
如果要实现自动发送邮件的话,那么程序必须能自动的运行。程序在后台自动运行的代码如下:
ignore_user_abort(); // 后台运行
set_time_limit(0); // 取消脚本运行时间的超时上限
$interval=60*30;// 每隔半小时运行,这个间隔时间是可以随着 需要进行修改
do{
XXXXX //这里是你要执行的代码
sleep($interval); // 休眠半小时
}while(true);
?>
将发送邮件的代码和自动运行的代码结合起来,就可以实现邮件的自动发送:
//邮件发送
require './mailer/class.phpmailer.php';
require './mailer/class.smtp.php';
date_default_timezone_set('PRC');
ignore_user_abort();//后台运行
set_time_limit(0);//取消脚本运行时间的超时上限
$interval = 60*1;//每隔一分钟运行一次(这个可以根据需要来进行调整)
do{
$mail = new PHPMailer();
$mail->SMTPDebug = 3;
$mail->isSMTP();
$mail->SMTPAuth=true;
$mail->Host = 'smtp.qq.com';
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;
$mail->Hostname = 'localhost';
$mail->CharSet = 'UTF-8';
$mail->FromName = 'XXXX';
$mail->Username ='发送者的QQ号';
$mail->Password = 'QQ邮箱的登录密码';
$mail->From = '发送者的QQ邮箱';
$mail->isHTML(true);
$mail->addAddress('收件人的QQ邮箱地址','QQ昵称');
//$mail->addAddress('XXXX@qq.com','XXXXX');
$mail->Subject = '这是一个PHPMailer发送邮件的示例';
$mail->Body = "这是一个PHPMailer发送邮件的一个测试用例";
$mail->addAttachment('./src/20151002.png','test.png');
//$mail->addAttachment('./Jlib-1.1.0.js','Jlib.js');
$status = $mail->send();
if($status)
{
echo '发送邮件成功'.date('Y-m-d H:i:s');;
}
else
{
echo '发送邮件失败,错误信息未:'.$mail->ErrorInfo;
}
sleep($interval);//休眠1minute
}while(true);
?>
程序运行结果为:
要去掉上面这些信息,
只保留“发送成功等信息”
需要在这个文件修改:class.smtp.PHP
最后得到结果显示如下:
这样就实现了邮件的自动发送。当然,根据以上代码,还可以实现邮件的定时发送。
相关推荐:
php自动发送邮件,PHP实现自动发送邮件功能代码(qq 邮箱)_php实例相关推荐
- php 邮件发送设置_PHP实现自动发送邮件功能代码(qq 邮箱)
最近做一个邮箱验证的功能,研究了一会,搞定了邮件的自动发送.下面用qq邮箱作为演示,一步一步来解释: 代码下载地址 首先,就是做到邮件的发送,代码如下: //邮件发送 require "./ ...
- php模拟登录qq邮箱_PHP 利用QQ邮箱发送邮件的实现
这篇文章主要介绍了关于PHP 利用QQ邮箱发送邮件的实现,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下在 PHP 应用开发中,往往需要验证用户邮箱.发送消息通知,而使用 PHP 内置的 ...
- 通过QQ邮箱的SMTP服务器发送QQ邮件至163邮箱提示“发送邮件失败”的解决方案(三种可能性,不妨一试)...
IDE:Visual Studio 2010[C#] + .NET 4.0框架 引用.NET 4.0框架的System.Net.Mail命名空间开发发送邮件的程序.发送方:QQ邮箱 接收方:163邮箱 ...
- Java mail使用QQ邮箱发送邮件配置方案
Java mail使用QQ邮箱发送邮件配置方案 java mail配置了QQ邮箱作为服务器发送邮件,结果导致出现503异常: Authentication failed; nested excepti ...
- Java实现利用QQ邮箱发送邮件
博主在做项目时,要求能够系统能够通过点击按钮来向某一个用户发送邮件. 于是博主使用了开启QQ邮箱的STMP来进行邮件发送,下面是完成步骤: 首先我们需要开启邮箱发送端口:首先我们打开自己的邮箱 就是这 ...
- java实现发邮件qq邮箱,Java实现利用QQ邮箱发送邮件
博主在做项目时,要求能够系统能够通过点击按钮来向某一个用户发送邮件. 于是博主使用了开启QQ邮箱的STMP来进行邮件发送,下面是完成步骤: 首先我们需要开启邮箱发送端口:首先我们打开自己的邮箱 就是这 ...
- spring-boot邮件发送功能演示(163邮箱与QQ邮箱互发)
背景:使用 Spring Boot 发送邮件,演示的邮箱为 163邮箱与QQ邮箱,两者可以实现互发邮件. 问题:自己可以实现一下 QQ邮箱 发 QQ邮箱,163发163,是什么样的. 演示 :163 ...
- QQ邮箱漂流瓶功能将于明天正式关闭
6 月 23 日,根据此前 QQ 邮箱发布的通知,"QQ 邮箱漂流瓶"功能将于 2019 年 6 月 24 日正式关闭,这个伴随着无数少男少女度过青葱岁月的经典功能终于要在明天离我 ...
- python自动登录qq邮箱_selenium+python实现自动登陆QQ邮箱并发送邮件功能
本期做一个selenium详细实例,会把我在元素定位中遇到的一些阻塞和经验分享给大家. (浏览器为Chrome) (如果只需要最终的完整代码,请直接跳转到文章最后) 浏览器打开QQ邮箱登录网址 fro ...
最新文章
- 2016.4.2 动态规划练习--讲课整理
- 查找局域网中的DHCP服务器
- 在Linux下通过Wake On LAN实现网络唤醒远程开机
- vba里面的日期数据转换异常(Format error)(使用IsDate方法部分解决)
- 从Java 10中删除的API
- 【Kettle】crt中运行spoon.sh报错
- php微信自动登录,利用php怎么实现一个自动登录微信并获取昵称的功能
- Windows To Go,让Windows 8移动起来!
- Centos 8 安装向日葵(sunloginclient-10.0.0-1)
- 树莓派4B引脚定义及运行实例
- Linux安装ParaView
- 径向基神经网络与多层感知器的比较
- 《十二生肖运程图》网站欣赏
- 玛雅日历转化(Maya calendar,POJ1008, UVA300)
- HTML期末学生大作业-视频影视网页html+css+javascript(带报告册)
- WinServer服务器IP访问白名单设置
- 360安全浏览器如何锁定极速模式
- CCleanner下载安装教程
- 笔记本电脑既连内网网线又连无线WiFi
- 如何将PDF文件转换为PNG图片?