How to send order email to a custom email address?

Nov 3rd, 2018 2 min to read

This piece of information will throw some light on to how to send an order email to a custom email address in Magento 2.

To achieve this, you just have to follow a couple of steps mentioned below:

  • Step 1: Set an email form
  • Step 2: Create a Controller file

Step 1: Set an email form

Set the email form with the input field line as given below:

<form id="send-order-email" action="<?php $block->getUrl('demomodule/order/sendemail'); ?>">
   <label>Email Address</label>
   <input type="text" class="input-text" id="email">

Step 2: Create a Controller file

Create a controller file at the path given below and add the following code: app\code\Aureatelabs\DemoModule\Controller\Order\Email
This file is based on the class \Magento\Framework\App\Action\Action and it will take the submit action from the form created in the first step.

public function execute()
   $email = $this->getRequest()->getParam('email');
   $order = $this->_objectManager->create('Magento\Sales\Model\Order')->load(1); // this is entity id
   if ($order) {
       try {
           $this->messageManager->addSuccess(__('You sent the order email.'));
       } catch (\Magento\Framework\Exception\LocalizedException $e) {
       } catch (\Exception $e) {
           $this->messageManager->addError(__('We can\'t send the email order right now.'));

Feel free to leave the comments below and contact us if you need any help to customize your Magento store.

Happy coding!

we forecast

Post a Comment

We don’t write crap content which is uninteresting, found everywhere and does not make any sense. Following our DNA, we write and speak about next generation technology, platforms and possibilities of digital commerce.

* This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.