diff --git a/saimod_mail.php b/saimod_mail.php index 6121d78..d6d3765 100644 --- a/saimod_mail.php +++ b/saimod_mail.php @@ -132,10 +132,10 @@ class saimod_mail extends \SYSTEM\SAI\sai_module{ } public static function send_list($email_id,$list){ - $list_handle = \SQL\CONTACT_EMAIL_LIST_SELECT_LIST::QQ(array($list)); - while($row = $list_handle->next()){ + $list_handle = \SQL\CONTACT_EMAIL_LIST_SELECT_LIST::QA(array($email_id,$list)); + foreach($list_handle as $row){ \set_time_limit(30); - self::send_mail($row['email'], $email_id, $list) ? 1 : 0; + self::send_mail($row['email'], $email_id, $list); \sleep(1); } return \SYSTEM\LOG\JsonResult::ok(); diff --git a/sql/CONTACT_EMAIL_LIST_SELECT_LIST.php b/sql/CONTACT_EMAIL_LIST_SELECT_LIST.php index 491c0ac..ad5bbee 100644 --- a/sql/CONTACT_EMAIL_LIST_SELECT_LIST.php +++ b/sql/CONTACT_EMAIL_LIST_SELECT_LIST.php @@ -4,6 +4,9 @@ namespace SQL; class CONTACT_EMAIL_LIST_SELECT_LIST extends \SYSTEM\DB\QP { public static function get_class(){return \get_class();} public static function mysql(){return -'SELECT email FROM contact_email_list WHERE list = ?;'; +'SELECT contact_email_list.email, email_sent.email as done FROM contact_email_list'. +' LEFT JOIN email_sent ON contact_email_list.email = email_sent.email AND email_sent.id = ?'. +' WHERE list = ?'. +' HAVING done IS NULL;'; } } \ No newline at end of file