The Magento 2 order confirmation email is controlled in two places: the template itself (Marketing > Communications > Email Templates) and the setting that decides which template is used (Stores > Settings > Configuration > Sales > Sales Emails > Order). If customers say they never received it, the cause is rarely the template. It is usually a disabled email setting, asynchronous sending without a working cron, or a sending domain that fails SPF, DKIM or DMARC checks.
This guide maps which transactional email fires when, shows how to customize templates without breaking upgrades, and ends with a deliverability checklist.
Template map: which email fires when
Magento Open Source and Adobe Commerce ship a default template for every customer-facing event. Each one is assigned in configuration, per store view, so you can use different templates per language or brand.
| Fires when | Default template | Where it is assigned | |
|---|---|---|---|
| Order confirmation | An order is placed (registered customer) | New Order | Sales > Sales Emails > Order |
| Order confirmation (guest) | An order is placed at guest checkout | New Order for Guest | Sales > Sales Emails > Order |
| Order update | An admin adds an order comment with "Notify customer" checked | Order Update (and guest version) | Sales > Sales Emails > Order Comments |
| Invoice | An invoice is created and the email copy is sent | New Invoice (and guest version) | Sales > Sales Emails > Invoice |
| Shipment | A shipment is created, often with tracking | New Shipment (and guest version) | Sales > Sales Emails > Shipment |
| Credit memo | A refund (credit memo) is issued | New Credit Memo (and guest version) | Sales > Sales Emails > Credit Memo |
| Welcome / account confirmation | A customer registers (confirmation if email confirmation is required) | Default Welcome Email, Confirmation Link Email and related | Customers > Customer Configuration > Create New Account Options |
| Password reset | A customer asks to reset a password | Forgot Email Template / Reset Password Template | Customers > Customer Configuration > Password Options |
| Contact form | The storefront contact form is submitted (sent to you) | Contact Form | General > Contacts > Email Options |
| Newsletter | A customer subscribes, confirms or unsubscribes | Confirmation, Success and Unsubscription email templates | Customers > Newsletter |
Invoice, shipment and comment emails also have their own Comments sections with separate templates. Product alerts (price drop, back in stock) are configured under Catalog > Catalog > Product Alerts, and wish list sharing under Customers > Wish List > Share Options. Exact labels vary a little between versions, so check the field's "Currently Used For" path when you open a template.
Why the order email sometimes does not send
- The Order email is disabled for that store view (Sales Emails > Order > Enabled).
- Asynchronous sending is on but cron is not running. With asynchronous sending enabled (Sales Emails > General Settings), sales emails are queued and sent by cron at regular intervals. If cron is broken, emails pile up silently. Our guide to Magento cron and indexers shows how to check it. Adobe recommends enabling asynchronous sending because it takes email work out of order placement, but only with healthy cron.
- The payment method delays it. Some payment integrations only send the confirmation once the payment is confirmed, which is correct behavior for redirect or authorization-based methods.
- The mail transport is not configured, or the host blocks outgoing mail. Check Stores > Settings > Configuration > Advanced > System > Mail Sending Settings.
- It was sent but filtered as spam. See the deliverability checklist below.
Editing templates safely
There are two ways to customize transactional emails. Pick one per template and stay consistent.
Option 1: Admin templates (for content changes)
- Go to Marketing > Communications > Email Templates and click Add New Template.
- Choose the default template (for example, New Order) and click Load Template.
- Give it a clear name, such as "New Order - EN - 2026", edit the content and click Preview Template.
- Save it, then go to the configuration field shown under "Currently Used For", clear "Use system value" and select your template for the right store view.
Adobe's documentation has two warnings worth repeating: do not type over the code in double braces, which is template logic, and write any custom variables in strict mode. Since 2.3.4, new templates cannot call arbitrary methods from variables. That protects you from template injection, and it is also why older copied templates sometimes break after an upgrade.
Option 2: Theme files (for structure and design)
Developers can override the template files in your theme, which keeps them in version control and deploys them with the code:
app/design/frontend/Vendor/theme/Magento_Sales/email/order_new.html
app/design/frontend/Vendor/theme/Magento_Sales/email/order_new_guest.html
app/design/frontend/Vendor/theme/Magento_Email/email/header.html
app/design/frontend/Vendor/theme/Magento_Email/email/footer.htmlShared header, footer and logo settings live under Content > Design > Configuration, in the Transactional Emails section of each store view's design configuration. Change the logo there once instead of editing every template.
Safe-editing checklist
- Copy the default template; never edit the core files under vendor/.
- Keep one owner per template: either Admin or theme file, not both.
- Test with a real order for each payment method, as a guest and as a registered customer, in every store view.
- Check rendering in at least one webmail client and one mobile client; email clients ignore much modern CSS.
- After every upgrade, compare your copies with the new defaults for changed variables. Add this to your upgrade checklist.
- Keep the content transactional. Heavy promotional content in an order email can change how mailbox providers classify it.
When you need logic the templates cannot express, such as attaching PDF invoices, adding ERP data or sending through a provider API, that is extension territory. Our roundup of the best Magento 2 extensions covers common SMTP and email modules, and a small custom module is often cleaner than stacking several.
Deliverability checklist: SPF, DKIM and DMARC
Since February 2024, Gmail requires every sender to Gmail accounts to authenticate with SPF or DKIM. Senders of more than 5,000 messages a day to Gmail must use SPF, DKIM and DMARC, keep the From domain aligned, and keep reported spam rates below 0.3%. Transactional email is often low volume, but it shares a domain with your marketing email, so the stricter rules usually apply to the domain as a whole.
- Send through a proper relay. Use an email service or your provider's SMTP relay rather than the web server's local mail. Adobe's current documentation lists Sendmail and SMTP as the Transport options under Mail Sending Settings, and (as checked in November 2026) carries a security notice that advises avoiding Sendmail and setting "Set Return Path" to No. Recheck that notice for your version. On Adobe Commerce on cloud infrastructure, outgoing email is enabled per environment; read Adobe's outgoing email page for your plan.
- SPF: one TXT record that includes your relay and any other services that send as your domain. Only one SPF record per domain.
- DKIM: sign with a key of at least 1024 bits; Google recommends 2048.
- DMARC: publish a record, start with p=none and reporting, then move toward quarantine or reject once reports are clean.
- Alignment: the domain in the From address should match the SPF or DKIM domain. Set the sender addresses under Stores > Settings > Configuration > General > Store Email Addresses accordingly.
- Reverse DNS and TLS: your sending IP needs valid forward and reverse DNS, and mail must be sent over TLS. A reputable relay handles both.
- Separate streams: consider a subdomain for marketing (for example news.yourdomain) so a campaign problem does not hurt order emails.
- Monitor: watch Google Postmaster Tools and DMARC reports monthly.
A compromised admin account can also change sender settings or templates, so treat email configuration as part of admin hardening. See our Magento admin security guide.
FAQ
How do I resend an order confirmation email?
Open the order in Sales > Orders and click Send Email. It uses the template currently assigned to that store view.
Can I add a PDF invoice to the email?
Not in the default templates. It needs an extension or a small custom module.
Do I need DMARC if I only send order emails?
If you send fewer than 5,000 messages a day to Gmail, Gmail does not require it, but it protects your domain against spoofing and many providers treat it as a trust signal. It is a low-effort record to add.
Getting it right
Transactional email touches templates, cron, DNS and your mail provider, which is why problems often fall between teams. Mistri's Magento support and maintenance work covers cron health, email configuration and upgrade checks, and our Magento extension development team builds custom email logic when the templates are not enough.
Sources
Sales emails (Adobe Experience League); Customize email templates (Adobe Experience League); Configure email communications (Adobe Experience League); Email sender guidelines (Google Workspace Admin Help); Email templates, frontend developer guide (Adobe Developer); Customer configuration reference (Adobe Experience League); Catalog configuration reference, Product Alerts (Adobe Experience League).


