Swiftmailer отправляет одно сообщение, но не другое - PullRequest
0 голосов
/ 26 сентября 2019

Моя задача - создать интернет-магазин.Когда пользователь добавил товар в корзину и начинает процесс размещения заказа, ему и одному из менеджеров будет отправлено электронное письмо о заказе с помощью Swiftmailer.

По какой-то причине только электронное письмо на адресменеджер прибывает;для пользователя нет.

Это мой код:

public static function mailOrder($order_id, $user_email){
    $transport = (new Swift_SmtpTransport(App::$app->getProperty('smtp_host'), App::$app->getProperty('smtp_port'), App::$app->getProperty('smtp_protocol')))
        ->setUsername(App::$app->getProperty('smtp_login'))
        ->setPassword(App::$app->getProperty('smtp_password'))
    ;
    $mailer = new Swift_Mailer($transport);
    ob_start();
    require APP . '/views/mail/mail_order_admin.php';
    require APP . '/views/mail/mail_order_user.php';
    $bodyAdmin = ob_get_clean();
    $bodyUser = ob_get_clean();
    $message_client = (new Swift_Message("Your order №{$order_id} on " . App::$app->getProperty('shop_name')))
        ->setFrom([App::$app->getProperty('smtp_login') => App::$app->getProperty('shop_name')])
        ->setTo($user_email)
        ->setBody($bodyUser, 'text/html')
    ;
    $message_admin = (new Swift_Message("Сделан заказ №{$order_id}"))
        ->setFrom([App::$app->getProperty('smtp_login') => App::$app->getProperty('shop_name')])
        ->setTo(App::$app->getProperty('admin_email'))
        ->setBody($bodyAdmin, 'text/html')
    ;
    $result = $mailer->send($message_client);
    $result = $mailer->send($message_admin);
    unset($_SESSION['cart']);
    unset($_SESSION['cart_qty']);
    unset($_SESSION['cart_sum']);
    unset($_SESSION['cart.currency']);
    $_SESSION['success'] = 'Thank for Order';
}

1 Ответ

0 голосов
/ 26 сентября 2019

Из сообщения об ошибке, которое вы опубликовали, можно предположить, что все, что возвращается с App::$app->getProperty('admin_email'), не является адресом электронной почты - возможно, оно возвращает имя свойства в качестве адреса электронной почты, который никому не нужен.Проверьте это с помощью:

var_dump(App::$app->getProperty('admin_email'));

и убедитесь, что в вашей конфигурации указано правильное значение.

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