最近做一个域名管理系统的项目,实现在域名还有三十天的时候系统发送邮件到QQ邮箱从而提醒续费;
这里运用到了phpmailer;
1:getAll函数:
function getAll($con,$sql){
$result=mysqli_query($con,$sql); while($res=mysqli_fetch_array($result,MYSQLI_ASSOC)){ $re[]=$res; } return $re; }2:sendmail.php
<?php
require("phpmailer/class.phpmailer.php");
require("phpmailer/class.smtp.php");$con=con('数据表名');
$sql="SELECT * FROM `数据库` ORDER BY `addtime`"; $data=getAll($con,$sql);//getAll自己定义的一个查询数据的函数 if($data){ foreach ($data as $val) {if(strtotime($val['expiretime'])-time()<$allowtime*24*3600&&strtotime($val['expiretime'])-time()>0){
$email='需要发送的qq邮箱';
$title='您的域名即将到期'; $content='您所持有的域名'.$val['domain'].'即将到期,请尽快处理';//sendmail是写的一个函数
if(!sendmail($email,$title,$content)) { sendmail($email,$title,$content); } } } }3:sendmail函数
/** 邮件发送函数
* $email 收件人地址 * $title 邮件标题 * $content 邮件内容 */function sendmail($email,$title,$content){ $mail = new PHPMailer(); //实例化 $mail->IsSMTP(); // 启用SMTP $mail->Host='smtp.163.com'; //smtp服务器的名称(这里以163邮箱为例) $mail->SMTPAuth = TRUE; //启用smtp认证 $mail->Username = ''; //你的邮箱名 $mail->Password = '' ; //邮箱授权码 $mail->From = ''; //发件人地址(也就是你的邮箱地址) $mail->FromName = '域名管理系统'; //发件人姓名 $mail->AddAddress($email,"尊敬的客户"); $mail->WordWrap = 50; //设置每行字符长度 $mail->IsHTML(TRUE); // 是否HTML格式邮件 $mail->CharSet='utf-8'; //设置邮件编码 $mail->Subject =$title; //邮件主题 $mail->Body =$content; //邮件内容 $mail->AltBody = "这是一个纯文本的身体在非营利的HTML电子邮件客户端"; //邮件正文不支持HTML的备用显示 return $mail->Send();//发送邮件} 4:sendmail.bat@echo off
start http://网址/sendmail.phpexit ?>