Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Swiftmailer发送一条消息,但不发送另一条_Php_Swiftmailer - Fatal编程技术网

Php Swiftmailer发送一条消息,但不发送另一条

Php Swiftmailer发送一条消息,但不发送另一条,php,swiftmailer,Php,Swiftmailer,我的任务是创建一个在线商店。当用户向购物篮中添加商品并开始下订单时,他/她和其中一位经理将使用Swiftmailer收到一封关于订单的电子邮件 由于某种原因,只有给经理的电子邮件到达;给用户的那个没有 这是我的代码: public static function mailOrder($order_id, $user_email){ $transport = (new Swift_SmtpTransport(App::$app->getProperty('smtp_host'), A

我的任务是创建一个在线商店。当用户向购物篮中添加商品并开始下订单时,他/她和其中一位经理将使用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';
}

从您发布的错误消息中,它表明从
App::$App->getProperty('admin_email')
返回的任何内容都不是电子邮件地址–它可能将属性名称作为电子邮件地址返回,这对任何人都没有用。请检查以下内容:

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

然后确保您的配置中有正确的值。

您需要显示您所做的调试工作-例如,对
发送的调用返回的值是什么?Swiftmailer是否有调试选项来显示更多它正在做的事情?您是否检查了错误日志?[2019-09-25 17:30:59]错误文本:给定邮箱中的地址[管理员电子邮件]不符合RFC 2822,3.6.2.|File:/Applications/MAMP/htdocs/ishop2.loc/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/MailboxHeader.php | Line:355非常感谢您的帮助,但我找到了这个问题的解决方案关于缓冲的问题是缓冲选项应该是这样的://创建消息ob_start()$bodyAdmin=需要应用程序。“/views/mail/mail_order_admin.php'$bodyAdmin=ob_get_clean();ob_start()$bodyUser=需要应用程序。“/views/mail/mail_order_user.php'$bodyUser=ob_get_clean();'