如何获取当前服务器的可用配额以使用PHP发送电子邮件

时间:2019-03-13 20:28:33

标签: php cron phpmailer

该网站的开发需要向其用户发送大量电子邮件。我已经完成了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脚本。

0 个答案:

没有答案