How can I test order emails specifying order ID without sending me the email but with a .php file that I call up in the browser?

2 Answers 2


Try below code and check.

  1. Create a new order in the backend of Magento 2.
  2. Go to the sales order view page and find the "Send Email" button.
  3. Click the "Send Email" button and wait for the email to be sent.
  4. Check the email address associated with the order to see if the email was received.

If you need to test the order email functionality using a PHP script, you can create a custom script in Magento 2 to send an order email programmatically. Here is an example of how to do this:

File name is testsendorder.php


use Magento\Framework\App\Bootstrap;

require __DIR__ . '/app/bootstrap.php';

$bootstrap = Bootstrap::create(BP, $_SERVER);

$obj = $bootstrap->getObjectManager();

$state = $obj->get('Magento\Framework\App\State');

$order = $obj->create('Magento\Sales\Model\Order')->loadByIncrementId('100000XXX');

$orderSender = $obj->create('Magento\Sales\Model\Order\Email\Sender\OrderSender');

echo 'Order email sent successfully.';

Replace '100000XXX' with your actual order increment ID.

Now run script in broswer using that URL :-

Let me know if any query.



I use this module by many years https://www.yireo.com/software/magento-extensions/emailtester2

It's not perfect because not all variables are passed but is good for common task.

With this module you can keep sending each email template in the locale you prefair

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.