Magento2 – Send Order Placement Email from Observer

emailevent-observermagento2

Event is : checkout_onepage_controller_success_action

How can I send email to Same Customer again who placed order from observer?

Observer:

public function execute(Observer $observer)
{
    $orderIds = $observer->getEvent()->getOrderIds(); 
    if (count($orderIds)) {
        $orderId = $orderIds[0];            
        $order = $this->_orderFactory->create()->load($orderId); 
    }
}

Best Answer

Added following code in my observer:

Use: use Magento\Sales\Model\Order\Email\Sender\OrderSender;

Declare variable in class:

protected $orderSender;

In constructor:

$this->orderSender = $orderSender;

In execute:

try {
         $this->orderSender->send($order);
    } catch (\Exception $e) {
         $this->logger->critical($e);
    }

It sends mail 2nd time to customer because customer already receives mail after order place.

In my module their is perticular need for that, So I'm using that.

Related Topic