2012-06-23 2 views
-1

Можно ли узнать общее количество отправленных сообщений электронной почты из функции php mail. Моя функция почты находится внутри цикла while, и я хочу знать количество отправленных писем.Сколько писем было отправлено с использованием почтовой функции php

Благодаря

+2

Кол-во .. 'if (mail (...)) $ sent ++;' – tradyblix

+1

Если вы не просите узнать, сколько было отправлено перед введением такого счетчика. В этом случае журналы должны сообщать вам. –

ответ

4

Если вы просто хотите знать количество писем, принятых для доставки в то время цикла, добавьте переменный счетчик:

$mailsSent = 0; 
while($condition) { 
    if (mail('[email protected]', 'My Subject', 'My Message')) { 
     $mailsSent++; 
    } 
} 
echo $mailsSent; 

для общего количества писем, принятое для доставки, вы можете настроить файл php.ini войти

mail.log строка

Путь к лог-файл, который будет регистрировать все mail() вызовы. Записи журнала включают полный путь к скрипту, номер строки, адрес и заголовки.

Ссылка: http://php.net/manual/en/mail.configuration.php#ini.mail.log

Если вы хотите узнать количество сообщений, которые на самом деле были отправлены, проверьте Sendmail журнал.

1

переиздан ответ! Пожалуйста, проверьте сейчас. Сначала я был в замешательстве!

Вы можете использовать этот способ, чтобы проверить, сколько писем было послано с помощью этого сценария:

<?php 
    $count = 0; 
    while ($condition) { 
     if(mail($to, $subject, $message)) 
      $count++; 
    } 
    echo "Totally, $count messages have been sent!"; 
?> 
+0

Было указано максимальное количество писем !!! хорошо, lemme отредактируйте ответ ... –

+0

Также вы не инициализировали '$ count'. – PeeHaa

+0

@PeeHaa Я только что упомянул код детали. Будет обновляться с полным кодом. –