php邮件发送yuanchengxu,邮件群发代码_php smtp邮件群发程序源代码
摘要 腾兴网为您分享:php smtp邮件群发程序源代码,篆刻字典,易通行,学习计时,小米社区等软件知识,以及鸿业暖通8.0,故事口袋听听,证件照,帮我关下灯,手淘链接转换,魅族,红包软件,gif修改软件,青海建筑职业技术学院,九天剑神,死亡空间2武器,音频剪辑软件,蓝手指论坛,博秀,湖北客运集团等软件it资讯,欢迎关注腾兴网。?*@author ray *@since 2009-08-07 */ define('__DEBUG__', false); define('__PSW_FILE__', dirname(__FILE__) . '/smtp.dat'); define('SLEEPING_EMAIL', dirname(__FILE__) . /sleepMail.dat);//休眠的email define('SLEEPING_TIME', 1800);//休眠多长...
*@author ray
*@since 2009-08-07
*/
define('__DEBUG__', false);
define('__PSW_FILE__', dirname(__FILE__) . '/smtp.dat');
define('SLEEPING_EMAIL', dirname(__FILE__) . "/sleepMail.dat");//休眠的email
define('SLEEPING_TIME', 1800);//休眠多长时间,以秒为单位
define('FILE_APPEND', 1);
if (!function_exists('file_put_contents')) {
function file_put_contents($n, $d, $flag = false) {
$mode = ($flag == FILE_APPEND || strtoupper($flag) == 'FILE_APPEND') ? 'a' : 'w';
$f = @fopen($n, $mode);
if ($f === false) {
return 0;
} else {
if (is_array($d)) $d = implode($d);
$bytesWritten = fwrite($f, $d);
fclose($f);
return $bytesWritten;
}
}
}
$errorNo = 0;
$errorMsg = '';
$currTime = time();
$unuseMails = array();
//收件人和邮件标题和邮件内容
$to = isset($argv[1]) ? $argv[1] : "" ;
$subject = isset($argv[2]) ? $argv[2] : "";
$mailFile = isset($argv[3]) ? $argv[3] : "" ;
if (__DEBUG__) {
echo "
file:$mailFile to:$to subject:$subjectrn";
}
if (empty($mailFile) || empty($to) || empty($subject)) {
$errorNo = 1;
$errorMsg = "参数不全";
}
//加载不可用的email列表
if (!$errorNo) {
if (file_exists(SLEEPING_EMAIL)) {
$sleepMails = file(SLEEPING_EMAIL);
if (!empty($sleepMails)) {
foreach($sleepMails as $sleepMail) {
//解析
if (false !== strpos($sleepMail, '|')) {
$tmp = explode('|', $sleepMail);
if (isset($tmp[0]) && isset($tmp[1])) {
$mail = trim($tmp[0]);
$time = trim($tmp[1]);
//是否可用
if ( ($currTime - $time )< SLEEPING_TIME) {
$unuseMails[] = $mail;
}
}
}
}
}
}
}
if (!$errorNo) {
//随机加载smtp服务器和smtp用户名和密码
$info = file(__PSW_FILE__);
$len = count($info);
do {
$rnd = mt_rand(0, $len - 1);
$line = isset($info[$rnd]) ? $info[$rnd] : "";
if (false !== strpos($line, '|')) {
$tmp = explode('|', $line);
if (isset($tmp[0]) && isset($tmp[1]) && isset($tmp[2])) {
$smtpServer = trim($tmp[0]);
$fromMail = trim($tmp[1]);
$'@'));
}
}
}while (in_array($fromMail, $unuseMails));//如果在不可用的列表中,在次加载
if (!isset($smtpServer) || !isset($fromMail) || !isset($psw)) {
$errorNo = 2;
$errorMsg = "没找到发件人QQ信箱和密码";
}
}
if (!$errorNo && __DEBUG__) {
echo "smtp:$smtpServer from:$fromMail psw:$psw user:$smtpUserNamern";
}
if (!$errorNo) {
//通过phpmailer连接smtp服务器发信
require(dirname(__FILE__) . "/phpmailer/class.phpmailer.php");
require(dirname(__FILE__) . "/phpmailer/class.smtp.php");
$mail = new PHPMailer();
$body = $mail->getFile($mailFile);
$body = eregi_replace("[]",'',$body);
//charset
$mail->CharSet = "GB2312";
//$mail->SMTPDebug = 2;//用于显示具体的smtp错误
$mail->IsSMTP();
$mail->SMTPAuth = true;
if ("smtp.qq.com" == trim($smtpServer)) {
$mail->Username = $fromMail;
} else {
$mail->Username = $smtpUserName;
}
$mail->Password = $psw;
$mail->Host = $smtpServer;
$mail->From = $fromMail;
$mail->FromName = "晴天网络";
$mail->IsHTML(true);
$mail->AddAddress($to);
$mail->Subject = $subject;
$mail->Body = $body;
if (!$mail->Send()) {
// echo "Message could not be sent. ";
$errorNo = 3;
$errorMsg = $mail->ErrorInfo;
} else {
echo "
Send to $to success use $fromMailrn";
exit;
}
}
if (3 == $errorNo) {
//记录信息,该信息地址休眠N分钟
$content = "$fromMail|" . time() . "rn";//email|当前时间戳
file_put_contents(SLEEPING_EMAIL, $content, FILE_APPEND);
}
echo "
Error No($errorNo) " . $errorMsg . "rn";
exit;
?>
相关推荐
php邮件发送yuanchengxu,邮件群发代码_php smtp邮件群发程序源代码相关推荐
- linux 将新密码邮件发送,linux脚本实现自动发送和收取邮件的设置方法
linux脚本实现自动发送和收取邮件的设置方法 更新时间:2013年05月11日 19:51:45 作者: 这篇文章主要是介绍linux下通过脚本自动发送和收取邮件的设置方法,有需要的朋友可以参考 ...
- java 163邮件发送 ssl协议失败_163邮箱开启SMTP服务发送邮件出现535错误的解决方法...
摘要: 用老的163邮箱可以直接设置SMTP发送邮件,使用新注册的却不行!折腾了几个小时后终于找到了方法,然后destoon就可以成功的发送邮件了..... 好久没有写关于destoon网站管理系统的 ...
- java 邮件客户端 smtp_带用户验证的SMTP邮件客户端java实现
一.程序的实现 SMTP (Simple Mail Transfer Protocol) :电子邮件从客户机传输到服务器或从某一个服务器传输到另一个服务器使用的传输协议.SMTP是请求/响应协议,命令 ...
- 邮件发送:Could not connect to SMTP host: 10.0.76.11, port: 25
这个问题咋看可能是环境配置问题,实际也有可能是ssl协议不支持的问题: 2020-10-21 15:32:16.094 [ERROR] [DubboServerHandler-10.244.2.30: ...
- 记录用户在操作计算机键盘,【单选题】有一类木马程序,它们主要记录用户在操作计算机时敲击键盘的按键情况,并通过邮件发送到控制者的邮箱。这类木马程序属于:______。...
参考答案如下 单选的按[单选题]病人张某,因脑震荡呈熟睡状态已2天,可以唤醒,随后又睡,提问能简单答题,但不确切,请判断该病人的意识障碍为:A. 意识模糊 B. 谵妄 C. 嗜睡 D. 虚脱 E. 浅 ...
- python 表白程序代码_python抖音表白程序源代码
本文实例为大家分享了python抖音表白程序的具体代码,供大家参考,具体内容如下 import sys import random import pygame from pygame.locals i ...
- python简单小游戏代码教程,python小游戏程序源代码
球球各位大神怎么用python写一个猜词小游戏的代码? key = input('请输入一个单词:')description = input('输入单词描述:')chance = 5mark = 5p ...
- 表白编程代码python_python抖音表白程序源代码
import sys import random import pygame from pygame.locals import * WIDTH, HEIGHT = 640, 480 BACKGROU ...
- qq邮箱格式的Java代码_Java实现QQ邮件发送
首先我们需要两个jar包,点击下面即可下载这两个包: 我们这里采用QQ邮箱发送邮件为例,代码如下: package ddd; import java.util.Properties; import j ...
最新文章
- SVN从win迁移到Linux上
- Maven 学习之旅
- linux abs 和 屏幕 大小关系,观点|一个 Linux 菜鸟的回忆录
- 利用SIFt特征点和RANSAC方法进行物体识别(利用openCV和vs2010实现)
- [云炬创业基础笔记]第六章商业模式测试9
- 创建启动oracle快捷方式,GNOME3创建连接OracleFS管理软件启动快捷方式
- SpringCloud微服务(05):Zuul组件,实现路由网关控制
- VS2005代码格式化
- orm2 中文文档 3.2 模型验证器
- Hibernate的单向1-1关联(二)
- netstat 的10个基本用法
- C#向一个Word文件中插入文字与图片
- 异名一文带你读懂Chrome小恐龙跑酷!
- java求方程的解_给定一个 n 元一次方程组,求方程组的解。(java8)
- java过滤器不管用_java中过滤器不起作用的原因
- 爆款预订,2022 最值得关注的后台框架——Fantastic-admin
- 【建模算法】Python调用Gurobi求解TSP问题
- 蓝牙音箱延迟测试软件,“Latency Test”详细操作流程,一款测试TWS耳机延迟的软件...
- 计算机电脑成像,计算机能重现你所看到的吗?
- 守护进程方式保证App不被杀死
热门文章
- java swing 人脸签到系统 ----- 调用 opencv 多线程
- Prometheus-----2
- Yale N. Patt教授的《计算机系统概论》
- 计算机与应用工程技术职称答辩,技术工程师职称论文答辩流程
- CSS实现横向滚动-x轴滚动
- 【230期】Spring Boot 集成 Elasticsearch7.6 实现高亮分词及简单查询
- 易居住房4(“发布房源”--房源详细信息填写)
- 27岁,想转行互联网,是学习软件测试好,还是前端编程?
- 通达信三重滤网交易系统指标公式(含强力指数指标)
- Java--invoke方法(反射)