Php код для отправки сообщения нескольким получателям с другим телом сообщения - PullRequest
0 голосов
/ 03 июня 2018

Я пытаюсь отправить сообщения нескольким получателям с разным телом сообщения, но я не знаю, есть ли в моем скрипте какая-либо ошибка.Проблема в том, что когда я выполняю этот код ниже, только одно электронное письмо получит сообщение.Если я попробую еще раз, другой получит сообщение.Я хочу, чтобы все электронные письма в массиве получали сообщение с отдельным телом сообщения.А также я заметил, что мой сценарий занимает много времени, чтобы завершить выполнение.Есть ли лучший способ заставить это работать как положено?

PHP

<?php 

$conn_handler->prepare('
    SELECT * FROM food_orders fo
    INNER JOIN our_chefs oc
    ON oc.chef_private_key = fo.order_chefpkey
    WHERE fo.order_id = :currentorder AND fo.order_userid = :order_userid
    ORDER BY fo.order_chefpkey
');

$conn_handler->bind(':currentorder', $lastOrderId);
$conn_handler->bind(':order_userid', $buyerid);
$conn_handler->execute();
$getFoodOrders = $conn_handler->getAll();

if( !isset($_SESSION['completed_'.$lastOrderId]) ) {
    $creatProducts = array();
    $email_list = array();
    /*Here i loop on current orders*/
    foreach($getFoodOrders as $row) {
        //Create an array of chef emails
        $email_list[$row->chef_private_key] = $row->chef_email; 

        //Create an array of items based on chef private key
        $creatProducts[$row->order_chefpkey][] = array( 
            'o_name' => $row->order_foodname,
            'o_pid' => $row->oder_foodid,
            'o_price' => $row->order_price,
            'o_currency' => $row->currency,
            'o_qty' => $row->order_qty,
            'o_size' => $row->order_size,
            'o_img' => $row->order_image,
        );
     }

    //Here i loop through the above chef emails
    foreach($email_list as $key => $val) {
        $productBuilder =  null;
        //Here i create html for products based on chef keys
        foreach($creatProducts[$key] as $erow) { 
            $productBuilder .= '<div><b>Product Name:</b> '.$erow['o_name'].'<br/></div>';
        }
        //Here i send email to each chef with their individual products created above
        $sourcejail->sendMail(
             $val, //Send TO
             null, //Send Bcc
             null, //Send CC
             null, //reply To
             1,    //Something
             'Your have received new order ('.$lastOrderId.')', //Subject
             $productBuilder //Message body
        );
    }
    $_SESSION['completed_'.$lastOrderId] = true;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...