在 Magento 2 中将订单电子邮件发送到自定义电子邮件地址
在这篇博文中,向您介绍如何使用自定义代码将订单电子邮件发送到Magento 2中的自定义电子邮件地址。本主题将通过以下两个步骤涵盖所有必要的操作。
将订单电子邮件发送到 Magento 2 中的自定义电子邮件地址的 2 个步骤
- 第一步:设置邮件格式
- 第二步:设置控制器文件
第一步:设置邮件格式
使用输入字段行设置电子邮件的格式如下:
<form id="send-order-email" action="<?php $block->getUrl('helloworld/order/sendemail'); ?>">
<label>Email Address</label>
<input type="text" class="input-text" id="email">
</form>
第2步:设置控制器文件
文件路径:app\code\Example\HelloWorld\Controller\Order\Email
app\code\
添加基于 class 的文件Example
\HelloWorld\Controller\Order\Email\Magento\Framework\App\Action\Action
。该文件将从上面的表单中执行提交操作,但首先,请插入以下操作:
public function execute()
{
$email = $this->getRequest()->getParam('email');
$order = $this->_objectManager->create('Magento\Sales\Model\Order')->load(1); // this is entity id
$order->setCustomerEmail($email);
if ($order) {
try {
$this->_objectManager->create('\Magento\Sales\Model\OrderNotifier')
->notify($order);
$this->messageManager->addSuccess(__('You sent the order email.'));
} catch (\Magento\Framework\Exception\LocalizedException $e) {
$this->messageManager->addError($e->getMessage());
} catch (\Exception $e) {
$this->messageManager->addError(__('We can\'t send the email order right now.'));
$this->_objectManager->create('Magento\Sales\Model\OrderNotifier')->critical($e);
}
}
}
版权声明:本站内容源自互联网,如有内容侵犯了你的权益,请联系删除相关内容。