我正在编写一个脚本来发送批量电子邮件....
选择列表后,它开始向该列表中的所有电子邮件发送电子邮件,在一个列表中,电子邮件最多可达100,000个。
<select name='lists' id='lists' multiple='multiple' class='multiselect' >
<?php
$sql="select list_id,list_name from tbl_list" ;
$result=mysql_query($sql);
for($i=1;$i<=mysql_num_rows($result);$i++)
{
$row=mysql_fetch_array($result);
?>
<option value='<?php echo $row['list_id']; ?>' title='<?php echo $row['list_name']; ?>'><?php echo $row['list_name']; ?></option>
<?php
}
?>
</select>
现在选择列表后我跟随jquery:
var listsValues = $("#lists").val()
var n = 1;
$.each(listsValues, function() {
var data= {list_id:encodeURIComponent(listsValues[n-1])};
setTimeout(function() {
$.post('GeteTmails.php', data, function(resp) {
//////// to bring 1000 emails at one me/////////////////
var Totalemails=resp;
var Totalsteps=Math.round(Totalemails/1000)+1;
for($i=1;$i<=Totalsteps;$i++)
{
start=($i-1)*1000;
limit=$i*1000;
$.ajax({
type: "POST",
url: "getemails.php",
cache:false,
data:"list_id="+ encodeURIComponent(listsValues[$i-1])+"&start="+start+"&limit="+limit,
dataType:'json',
success: function(json)
{
var foo = json.foo;
//////////// send emails ///////////////////////////
uemail = foo.split(',');
var interval;
var counter = 0;
var ecounter=1;
var check = function() {
if(counter < uemail.length) {
$("#sending_count").html("Sending Message "+ ecounter +" of " + uemail.length);
var data = {email: uemail[counter], subj: email_subject,r_rec:r_rec,temp_id:temp_id,email_message:email_message,msgid:msgids[0]};
$.ajax({
async: false,
type: "POST",
url: "sendmails.php",
data:data ,
success: function(html){
$("<div>"+ html +"</div>").appendTo("div#meprocess");
}
});
counter++;
ecounter++;
} else {
clearInterval(interval);
$("#sending_process").html("Email Sending Complete");
//alert('done');
}
};
interval = setInterval(check,5000);
///////////////////////////////////////////////////////////////////////////////////////
}
});
}
//////////////////////////////////////////////
});
}, n++ * 1000);
});
它无法正常工作......
我正在使用间隔,否则脚本会注销并删除会话。
这背后的基本思想就是那样
在收到电子邮件的情况下,如果可能的话,它可以是一次性的所有电子邮件,但正如我所提到的,它可能是100,00封电子邮件而且它没有返回那么多数据,因此每个周期可以发送1000封电子邮件。