【问题标题】:how many email have been sent using mail function php使用邮件功能php发送了多少封电子邮件
【发布时间】:2012-06-23 14:50:20
【问题描述】:

有什么方法可以从 php 邮件功能中找出已发送电子邮件的总数。我的邮件功能在一个while循环中,我想知道已发送电子邮件的数量。

谢谢

【问题讨论】:

  • 算了..if (mail(...)) $sent++;
  • 除非您想知道在引入这样的计数器之前已经发送了多少。在这种情况下,日志应该会告诉你。

标签: php email while-loop


【解决方案1】:

如果你只是想知道while循环中接受投递的邮件数量,添加一个计数器变量:

$mailsSent = 0;
while($condition) {
    if (mail('foo@example.com', 'My Subject', 'My Message')) {
        $mailsSent++;
    }
}
echo $mailsSent;

对于接受投递的邮件总量,可以在php.ini中配置一个日志文件

mail.log 字符串

将记录所有mail() 调用的日志文件的路径。日志条目包括脚本的完整路径、行号、To 地址和标题。

参考:http://php.net/manual/en/mail.configuration.php#ini.mail.log

如果您想知道实际发送的邮件数量,请查看 sendmail 日志。

【讨论】:

    【解决方案2】:

    重新编辑了答案!请立即检查。一开始我很困惑!

    你可以通过这个脚本来检查已经发送了多少邮件:

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

    【讨论】:

    • 另外你还没有初始化$count
    • @PeeHaa 我刚刚提到了部分代码。将更新完整的代码。
    • 感谢您的帮助。我找到了解决问题的方法!
    • @user1349390 太好了!发生了什么?出了什么问题?
    • 我删除了我的 dv。但请不要在您的帖子中添加“标语”。 “希望有帮助”。
    猜你喜欢
    • 2014-05-23
    • 2012-12-12
    • 1970-01-01
    • 2011-02-08
    • 1970-01-01
    • 2012-02-04
    • 2021-05-10
    • 1970-01-01
    • 2016-02-28
    相关资源
    最近更新 更多