php - 基于PHP和MYSQL向多个用户发送邮件

标签 php mysql email mysqli

这是我的 table :

id      emails          names       vip     expire
1       1@exp.com       name1       1       2015/03/25 12:10:22
2       2@exp.com       name2       0   
3       3@exp.com       name3       1       2015/03/30 09:12:00
4       4@exp.com       name4       1       2015/05/01 20:10:11
5       5@exp.com       name5       1       2015/03/25 12:10:20
.
.
.

在此代码中:

调用表中的所有用户,其中仅调用拥有事件帐户的用户。

如果用户的帐户已过期,则他们的帐户将被停用并向所有用户发送电子邮件。

但不会向所有帐户为 0 或未激活的用户发送电子邮件。

活跃 = 1 | 不活跃 = 0

用户数量200万,并且每天都在增加用户。

我认为应该这样做以循环发送电子邮件。

<?php
$db = mysqli_connect($mysql_server, $mysql_username, $mysql_password);
if (!$db)
{
die('Failed to connect to database server!<br>'.mysqli_error());
}
mysqli_select_db($db, $mysql_database) or die('Failed to select database<br>'.mysqli_error());

   $update = date("Y-m-d H:i:s");

   $sql = "SELECT * FROM ".$mysql_table." WHERE `vip` = '1' AND `expire` <= '".$update."'";
   $result = mysqli_query($db, $sql);
   if ($data = mysqli_fetch_array($result))
   {
        $emails = $data['emails'];
        $names = $data['names'];

        $sql = "UPDATE `".$mysql_table."` SET `vip` = '0' WHERE `vip` = '1' AND `expire` <= '".$update."'";
        mysqli_query($db, $sql);


        $msg = "Hi ".$names.",\nSecond line of text";
        mail($emails, "Expired Account", $msg);
   }
mysqli_close($db);
?>

最佳答案

选择后,您需要一些时间为每个人发送一封电子邮件。

相反:

 if ($data = mysqli_fetch_array($result))

试试这个:

while ($data = mysqli_fetch_array($result))

关于php - 基于PHP和MYSQL向多个用户发送邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29142614/

相关文章:

php - 比较两张表数据并显示不匹配和匹配数据

javascript - 如何将Javascript函数更改为MySQL可以使用的PHP?

mysql - 如何在 where 子句中设置 2 个以上的条件?

mysql - 如何获取 MYSQL 数据库中表和 View 的 from 子句中使用的所有表和 View 的列表?

php - 在 Laravel 5 中将文件附加到电子邮件

css - 如何使用 VML 允许在 Outlook 中使用 HAML 背景图像?

javascript - Chrome 扩展程序 : How to send html form data to a php page upon button being clicked which redirects to said php page

php - 为什么 PHP 在命名空间中找不到我的类

mysql - 在 Liquibase 中使用现有数据?

php - 联系表单 - 用户姓名和电子邮件地址为 'unknown'