phpmailer定时发送邮件一例,网上查找源码,未做测试,作为参考以待日后参考使用。

<?php
// 请求 PHPmailer类 文件
require_once(“class.phpmailer.php”
);
//发送Email函数
function smtp_mail ( $sendto_email, $subject, $body, $extra_hdrs, $user_name
) {
$mail = new PHPMailer
();
$mail->IsSMTP();                                     
// send via SMTP
$mail->Host = “smtp.163.com”;                       
// SMTP servers
$mail->SMTPAuth = true;                             
// turn on SMTP authentication
$mail->Username = “cfc4n”;                          
// SMTP username     注意:普通邮件认证不需要加 @域名
$mail->Password = “123456”;                         
// SMTP password
$mail->From = “cfc4n@163.com”;                      
// 发件人邮箱
$mail->FromName = “中国资金管理网”;                 
//   发件人 ,比如 中国资金管理网
$mail->CharSet = “GB2312”;                          
// 这里指定字符集!
$mail->Encoding = “base64”
;
$mail->AddAddress($sendto_email,$user_name);        
// 收件人邮箱和姓名
$mail->AddReplyTo(“treasurer@treasurer.org.cn”,”中国资金管理网”
);
//$mail->WordWrap = 50; // set word wrap
//$mail->AddAttachment(“/var/tmp/file.tar.gz”);                                                    // attachment  附件1
//$mail->AddAttachment(“/tmp/image.jpg”, “new.jpg”);                                         //附件2
$mail->IsHTML(true);                               
// send as HTML
$mail->Subject = $subject
;
// 邮件内容      可以直接发送html文件
$mail->Body 
= <<<EOT
<html><head>
<meta http-equiv=”Content-Language” c>
<meta http-equiv=”Content-Type” c>
<body>
{$user_name}
你好,欢迎您注册本站用户!
</body>
</html>
EOT;
$mail->AltBody =”text/html”
;
if($mail->Send
())
{
info_write(“ok.txt”,”$user_name发送成功”
);
}
else {
info_write(“falied.txt”,”$user_name失败,错误信息$mail->ErrorInfo”
);
}
}
// 发送Email函数结束
// 写入发送结果函数
function info_write($filename,$info_log
)
{
$info.= $info_log
;
$info.=”\r\n”
;
$fp = fopen ($filename,a
);
fwrite($fp,$info
);
fclose($fp
);
}
//定时跳转页面 函数  其中 1000是时间,1秒, 您可以自定义
function redirect($url
)
{
echo 
“<script>
function redirect() {
window.location.replace(‘$url’);
}
window.setTimeout(‘redirect();’, 15000);
</script>”
;
}
//读取文本 邮件地址  您也可以读 数据库
$filename = “email.txt”
;
$fp = fopen($filename,”r”
);
$contents = fread($fp,filesize($filename
));
$num_email=explode(“\r\n”,$contents
);
$len=count($num_email
);
fclose($fp
);
// 参数说明(发送到, 邮件主题, 邮件内容, 附加信息, 用户名)
$i = $_GET[‘action’
];
$i
++;
if ($i<$len
)
{
$rs=explode(“@”,$num_email[$i
]);
$user_name = $rs[‘0’
];
echo “正在发送第{$i}封({$num_email[$i]})邮件……”
;
smtp_mail($num_email[$i], ‘Treasury Online周刊第十期’, $body, ‘http://www.treasurer.org.cn/’, $user_name
);
redirect(“?action=$i”
);
}
else {
echo “邮件全部发送完毕”
;
exit;
}
?>

yantaisolo

作者 yantaisolo