该网站的开发需要向其用户发送大量电子邮件。我已经完成了PHP脚本,可以使用PHPMailer发送电子邮件,而且还可以,但是服务器发送电子邮件的时间受到限制。
我想知道是否有任何方法可以查询当前可用配额以发送电子邮件,这样我就可以使用for / while / etc进行迭代,并且永远不会收到未发送邮件的错误(也可以通过电子邮件获得错误)。
在这一刻,我正在做这样的事情:
While(...)
{
if(cont < 200)
{
$mail = new PHPMailer(true);
try
{
// send email to current user using PHP mailer
// and update database to not send him another email until next month.
}
catch(Exception $e)
{
echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
}
}
else
{
// Limit reached, dont send more emails.
break;
}
cont++;
}
但是,如果我通过其他脚本(新用户,通知等)发送电子邮件,则我的可用配额将是服务器限制中的!=,因此该脚本将始终向我发送错误电子邮件。我想做这样的事情:
$limit_quota = getQuota();
while(...)
{
if(cont<limit_quota)
{
// send emails.. (same code)
}
else
{
// Limit reached, dont send more emails.
break;
}
cont++;
}
注意:我每个月都使用CRON丢弃此php脚本。