【问题标题】:How to send an Order Confirmation email from script如何从脚本发送订单确认电子邮件
【发布时间】:2016-05-31 15:21:43
【问题描述】:

当我尝试从 Magento 中的根脚本发送电子邮件时,我收到以下错误:

Fatal error:  Uncaught exception 'BadMethodCallException' with message 'Missing required argument $debugHintsPath of Magento\Developer\Model\TemplateEngine\Plugin\DebugHints.' in
/var/www/html/2x/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:45
Stack trace:
0 /var/www/html/2x/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php(82):
Magento\Framework\ObjectManager\Factory\Dynamic\Developer->_resolveArguments('Magento\\Develop...', Array, Array)
1 /var/www/html/2x/vendor/magento/framework/ObjectManager/ObjectManager.php(71):
Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create('Magento\\Develop...')
2 /var/www/html/2x/vendor/magento/framework/Interception/PluginList/PluginList.php(234):
Magento\Framework\ObjectManager\ObjectManager->get('Magento\\Develop...')
3 /var/www/html/2x/vendor/magento/framework/Interception/Interceptor.php(149):
Magento\Framework\Interception\PluginList\PluginList->getPlugin('Magento\\Framewo...', 'debug_hints')
4 /var/www/html/2x/var/generati in /var/www/html/2x/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php
on line 45

下面是我使用的代码:

$orderid = '000000003';
$order = $obj->create('Magento\Sales\Model\Order')->loadByIncrementId($orderid);
// print_r($order->getData());

$obj->create('Magento\Sales\Model\Order\Email\Sender\OrderSender')->send($order,true);

【问题讨论】:

    标签: php magento magento2


    【解决方案1】:

    您也可以根据需要更改邮件的收件人:

    $orderid = '000000338';
            $objectManager = \Magento\Framework\App\ObjectManager::getInstance();
            $order = $objectManager->create('Magento\Sales\Model\Order')->loadByIncrementId($orderid);
            $order->setCustomerEmail('custom@mail.com');
            $objectManager->create('Magento\Sales\Model\OrderNotifier')->notify($order);
    

    【讨论】:

      【解决方案2】:

      尝试使用

      $orderid = '000000003';
      $objectManager = \Magento\Framework\App\ObjectManager::getInstance();
      $order = $objectManager->create('Magento\Sales\Model\Order')->loadByIncrementId($orderid);
      $objectManager->create('Magento\Sales\Model\OrderNotifier')->notify($order);
      

      【讨论】:

      • 您好,我遇到了以下错误致命错误:未捕获的异常 'BadMethodCallException' 并带有消息“缺少 Magento\Developer\Model\TemplateEngine\Plugin\DebugHints 所需的参数 $debugHintsPath。”在 /var/www/html/2x/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:45
      • 如果您在任何模块中使用此代码,请使用 Magento\Sales\Model\OrderNotifier,而不是清除缓存和生成等。 BY:rm -rf var/cache/var/di/var/generation/var/page_cache/
      • 请更新到 Magento2 的最新稳定版本。我正在使用与 Release Magento 2.1.0-rc1 相同的代码,它完美地工作 REF:github.com/magento/magento2/releases
      • $this->_state->setAreaCode(\Magento\Framework\App\Area::AREA_GLOBAL);这对我有用
      猜你喜欢
      • 1970-01-01
      • 2014-09-25
      • 2021-06-16
      • 2017-12-27
      • 2015-02-11
      • 2019-03-13
      • 2021-01-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多