PHP实现自动发送邮件功能代码(qq 邮箱)

最近做一个邮箱验证的功能,研究了一会,搞定了邮件的自动发送。下面用qq邮箱作为演示,一步一步来解释:

代码下载地址

首先,就是做到邮件的发送,代码如下:

<?PHP
//邮件发送
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 = "这是一个<b style=\"color:red;\">PHPMailer</b>发送邮件的一个测试用例";
//为该邮件添加附件 该方法也有两个参数 第一个参数为附件存放的目录(相对目录、或绝对目录均可)
//第二参数为在邮件附件中该附件的名称
$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;
}
?> 

这样就可以实现邮件的发送了。结果如下:

如果要实现自动发送邮件的话,那么程序必须能自动的运行。程序在后台自动运行的代码如下:

<?php
ignore_user_abort(); // 后台运行
set_time_limit(0); // 取消脚本运行时间的超时上限
$interval=60*30;// 每隔半小时运行,这个间隔时间是可以随着 需要进行修改
do{
 XXXXX      //这里是你要执行的代码
sleep($interval); // 休眠半小时
}while(true);
?> 

将发送邮件的代码和自动运行的代码结合起来,就可以实现邮件的自动发送:

<?php
//邮件发送
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 = "这是一个<b style=\"color:red;\">PHPMailer</b>发送邮件的一个测试用例";
$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实现自动发送邮件功能代码(qq 邮箱),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • PHP实现发送邮件的方法(基于简单邮件发送类)

    本文实例讲述了PHP实现发送邮件的方法.分享给大家供大家参考,具体如下: 邮件发送类 <?php /*邮件发送类 *功能:使用smtp服务器发送邮件 */ class smtp { /* 全局变量 */ var $smtp_port; var $time_out; var $host_name; var $log_file; var $relay_host; var $debug; var $auth; var $user; var $pass; var $sock; /* 构造函数 */ fu

  • Linux服务器下PHPMailer发送邮件失败的问题解决

    需求 更换服务器之后,我发现我的发送邮件功能失效了!原来的服务器是可以的,一定是哪里出问题了,决定来排查一下.我是用的PHPMailer,SMTP方式发送邮件的. 排查过程 这种方式首先PHP要开启sockets拓展,查了一下phpinfo页面,是开启的: 看了一下openssl也是开启(因为拿了qq邮箱来测),所以没问题: 那就再看一下allow_url_fopen,开启的,没问题: 是不是禁用了函数?没有禁用,没问题: 那配置上就没有问题了,我就想,是不是端口被占用了? 运行一下:netst

  • phpmailer简单发送邮件的方法(附phpmailer源码下载)

    本文实例讲述了phpmailer简单发送邮件的方法.分享给大家供大家参考,具体如下: 首先,点击此处本站下载相应的php文件. 解压后有2个php文件(2个类)  1个html文件(API) 将2个php文件放到php项目中 简述:我这里是用一个163的邮箱发消息给126的邮箱 关键代码如下: <?php require 'class.phpmailer.php'; $mail = new PHPMailer(true); //建立邮件发送类 $mail->CharSet = "UT

  • phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法

    本文实例讲述了phplist及phpmailer通过gmail发送邮件的配置方法.分享给大家供大家参考,具体如下: 一般来说,只要你使用的不是gmail邮箱,那么利用phplist发送邮件只要按照前面<PHP的邮件群发系统phplist配置方法详细总结>配置就够了.但若你如同我一样不幸,必须使用gmail这种有ssl验证的邮箱,那么恭喜你,我的不幸现在已然成为你的幸运,经过数天的尝试,我终于成功将gmail与phplist组合在了一起.现将经验分享于此,希望对各位同我一般境遇的同志有用.另外,

  • PHP实现163邮箱自动发送邮件

    163邮箱大家都使用过吧,那么基于php如何实现163邮箱自动发送邮件功能呢,下面我们小编给大家分享具体实现代码: 想给大家展示下效果图: demo.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http:/

  • PHP插件PHPMailer发送邮件功能

    本文实例为大家分享了ThinkPHP3.2.3发送邮件的具体代码,供大家参考,具体内容如下 首先第一步 :在网上down了一个PHPMailer插件,下载解压后,这里我们只需要用到其中两个文件,如下图所示: 将class.phpmailer.php和class.smtp.php两个文件分别放置到 ThinkPHP/Library/Vendor/PHPMailer/class.phpmailer.php (注意大小写哦) ThinkPHP/Library/Vendor/PHPMailer/clas

  • php发送邮件的问题详解

    php实现发送邮件,一般常用的是开源项目PHPMailer来实现,那么除此之外,有什么其他的好的项目吗? 解决方法: 使用SMTP协议来发送邮件吧 在CodeIgniter里面使用它内置的邮件类发送邮件 $this->load->library('email'); $to = "aa@bb.cc"; $subject = "test"; $message = "hello!"; $config["protocol"

  • PHP实现自动发送邮件功能代码(qq 邮箱)

    最近做一个邮箱验证的功能,研究了一会,搞定了邮件的自动发送.下面用qq邮箱作为演示,一步一步来解释: 代码下载地址 首先,就是做到邮件的发送,代码如下: <?PHP //邮件发送 require './mailer/class.phpmailer.php'; require './mailer/class.smtp.php'; date_default_timezone_set('PRC');//设置邮件发送的时间,如果不设置,则会显示其他区的时间 $mail = new PHPMailer()

  • js输入框邮箱自动提示功能代码实现

    同理 此插件不需要任何html标签,只需要一个输入框 有相对应的class类名就ok 且父级有个class类名,其他的都不需要.内部的HTML代码都是自动生成的. HTML代码如下: 复制代码 代码如下: <div class="parentCls">    <input type="text" class="inputElem"> </div> 其实上面的div标签都可以不需要 只需要在input输入框 且父

  • JavaScript实现邮箱地址自动匹配功能代码

    自动匹配技术:简单的来说就是"根据用户输入的信息来提示一些相似项供用户选择".具有很广泛的应用,比如我们最常用的百度,当输入一些搜索内容后会自动匹配很多相关信息:再比如我们最常用的输入法,都是使用这种技术,当然这些都比较难了.下面这个例子是比较简单的我们常用邮箱的匹配.代码如下: 1.css代码 #match_email { margin-left:48px; overflow:auto; display:none; width:200px; border:1px solid #aaa

  • PHPMailer ThinkPHP实现自动发送邮件功能

    本文实例为大家分享了PHPMailer ThinkPHP自动发送邮件的具体代码,供大家参考,具体内容如下 1.下载PHPMailer类包,放入ThinkPHP的Vendor目录,这是ThinkPHP的第三方类库目录 2.然后在项目目录下common文件夹下,在common.PHP(ThinkPHP中此文件会自动被引用,如果没有,新建一个common.php)中新增调用发送邮件的函数: /********************************Email******************

  • python实现发送邮件功能代码

    本文实例为大家分享了python实现发送邮件功能的具体代码,供大家参考,具体内容如下 # -*- coding: utf-8 -*- # Author :Gogh # @Time :2017/11/28 16:56 # @Email :361910002@qq.com from email import encoders from email.header import Header from email.mime.text import MIMEText from email.utils im

  • Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解

    直接上代码实例:  #!/usr/bin/python3 import smtplib from email.mime.text import MIMEText from email.utils import formataddr my_sender='1638245306@qq.com' # 发件人邮箱账号 my_pass = 'xxxxxx' # 发件人邮箱密码(注意这个密码不是QQ邮箱的密码,是在QQ邮箱的SMTP中生成的授权码) my_user='1638245306@qq.com' #

  • python实现秒杀商品的微信自动提醒功能(代码详解)

    技术实现原理:获取京东的具体的商品信息,然后再使用微信发送提醒 工具:需要两个微信号,这两个微信号互为好友 1.收集自己想要的商品url 我们就以京东来举例,获取京东的秒杀商品信息: 首先,我们在网页上打开京东,搜索我们想要的商品,这边我就以我最近买的东西为例子: 我们需要找到它的商品信息,需要打开浏览器的开发者模式,之后我们需要选择自己的配送地址,这个时候里面就发送一些接口请求: 我们选择一个有用的商品信息接口: 找到自己想要商品的信息接口,来判断它是否有货: 一般规则是:如果这个接口书籍里面

  • Python实现自动发送邮件功能

    简单邮件传输协议(SMTP)是一种协议,用于在邮件服务器之间发送电子邮件和路由电子邮件.Python提供smtplib模块,该模块定义了一个SMTP客户端会话对象,可用于使用SMTP或ESMTP侦听器守护程序向任何互联网机器发送邮件. SMTP通讯的基本流程可以概括为以下几点: 1.连接SMTP服务器 2.登陆用户名和密码 3.发送指定邮件内容 4.退出SMTP连接 一.发送纯文本格式邮件 #coding:utf-8 import sys reload(sys) sys.setdefaulten

  • jquery仿搜索自动联想功能代码

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"

随机推荐