Как получить текущую квоту сервера для отправки писем с помощью PHP - PullRequest
0 голосов
/ 13 марта 2019

Я в разработке веб-сайта, который должен отправлять массивные электронные письма своим пользователям.Я сделал 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 каждый месяц.

...