$array=array('路人甲'=>array('mail'=>'[email protected]','regTime'=>'2010-12-30 12:22:22'),'路人乙'=>array('mail'=>'[email protected]','regTime'=>'2010-12-30 12:22:22'),'路人丙'=>array('mail'=>'[email protected]','regTime'=>'2010-12-30 12:22:22'));foreach ($array as $key=>$value){ $sendmail->sendto($value['mail']); $sendmail->title('过期通知'); $regTime=$value['regTime']; $mailText=" 用户:{$key} 你好,你于{$regTime}注册本站,到目前为止已经有一个月时间了,感谢支持 "; $sendmail->text($mailText); } //发送完毕将数据更新 $SQL="UPDATE member SET send=1 WHERE id IN (.....)" mysql_query($SQL);//这是例子,能看明白就行,sendmail也是例子,具体需要看相关实例的引用
2.时间判断简单吧。
3.加个字段,做标识,是否发送。也不难吧
$sendmail->sendto($value['mail']);
$sendmail->title('过期通知');
$regTime=$value['regTime'];
$mailText="
用户:{$key}
你好,你于{$regTime}注册本站,到目前为止已经有一个月时间了,感谢支持
";
$sendmail->text($mailText);
}
//发送完毕将数据更新
$SQL="UPDATE member SET send=1 WHERE id IN (.....)"
mysql_query($SQL);//这是例子,能看明白就行,sendmail也是例子,具体需要看相关实例的引用
自己写个phpmailer就是单个了.
这里你最好在数据库加一个字段(send)标示是否发送过邮件。
1.sql语句取出所有用户
2.循环判断时间是否在大于1个月
3.大于一个月发送邮件,否则不发送
4.发送邮件后给这个id 的 send 字段置 1 标示已经发送。上面的方法速度慢,代码冗余多。
1.sql语句只取出要发送邮件的用户
2.发送邮件
3.发送邮件后给这个id 的 send 字段置 1 标示已经发送就是这么个思路,代码LZ自己写吧。