ix
ix

informatix

PL version Book a discovery call
Home / Blog / PrestaShop Emails Not Sending — SMTP & Deliverability [2026]
• 7 min read •

PrestaShop Emails Not Sending — SMTP & Deliverability [2026]

PrestaShop emails most often fail because the store sends via mail() without authentication. The fix: authenticated SMTP, SPF/DKIM/DMARC records, a working queue and deliverability tests to several inboxes.

PrestaShop emails not arriving is one of the most common store problems: customers do not receive order confirmations, the store does not send invoices, and notifications to support go missing. In 90% of cases the cause is sending through the default mail() function instead of authenticated SMTP — hosting blocks such messages or they land in spam. SMTP configuration is 15 minutes of work, and deliverability diagnostics by a specialist cost 200–600 PLN net.

Key takeaway: PrestaShop emails most often fail because: 1) the store sends via mail() without authentication (hosting blocks it or it goes to spam), 2) SMTP is misconfigured (wrong port, no encryption, wrong password), 3) the host has sending limits (e.g. 100 emails/h), 4) the sender address fails SPF/DKIM verification, 5) the mail queue is stuck (cron not running), 6) messages land in the customer's spam. The fix: switch to authenticated SMTP (your own domain or an external service), configure SPF/DKIM/DMARC and test deliverability to several inboxes.

  • ## Step 1: Determine where the emails are lost

Before changing the configuration, determine the stage where the message is lost

  • the store does not send at all — error in the logs, stuck queue, mail module disabled,
  • the store sends, but the customer does not receive — spam filter, blacklists, rejection by the recipient's server (SPF/DKIM),
  • only some arrive — hosting limits, rate limiting by the mail operator,
  • customers receive them, support does not — wrong address or a rule in the company mailbox.

Check var/logs/ and the hosting logs for SMTP errors (Connection refused, Authentication failed, 550). In PrestaShop 1.7+/8/9 you will also find mail logs in the panel (Advanced Parameters → E-mail) with logging enabled.

  • ## Step 2: Switch from mail() to SMTP

This is the most important change. The default PHP mail() function

  • has no authentication — recipient servers increasingly reject such messages,
  • is routinely blocked by hosts (anti-spam),
  • gives no feedback — you never know whether the email left.

SMTP configuration in PrestaShop 1.7+/8/9: panel → Advanced Parameters → E-mail → Set my own SMTP parameters → choose "Set my own SMTP parameters" and provide:

Parameter Value (example)
SMTP server smtp.yourdomain.com or smtp.external-service.com
Port 587 (STARTTLS) or 465 (SSL)
Encryption TLS/SSL
Username full email address
Password mailbox password or app password

In PrestaShop 1.6: panel → Advanced → E-mail, the same way. After saving, send a test email with the built-in button and check that it arrives — including to Gmail and Outlook, not just your own inbox.

  • ## Step 3: Choose the sending method

You have three realistic options

Option Pros Cons
SMTP of your own domain (hosting) No extra cost, full control Hosting limits, shared IP reputation
External transactional service (e.g. Mailgun, Postmark, Brevo) High deliverability, statistics, no limits Costs from a dozen PLN/month, DNS configuration
External mailbox SMTP (Gmail Workspace, Outlook) Familiar interface, easy setup Daily limits, app passwords, delays

For a store with dozens of orders a day the best trade-off is a transactional service — deliverability is measurable and the statistics show rejections. For small volume, your own domain's SMTP is enough.

  • ## Step 4: Configure SPF, DKIM and DMARC

Even perfect SMTP will land in spam if the domain lacks proper authentication records

  • SPF — a TXT record in DNS listing the servers allowed to send from your domain,
  • DKIM — a cryptographic signature of messages (the sending service gives you a ready record to paste),
  • DMARC — a policy telling receivers what to do with unauthorised messages.

You set the records in your domain's DNS panel. After propagation (up to 24h) verify them with a tool like mail-tester — you should score 9–10/10.

  • ## Step 5: Check the queue and cron

PrestaShop 1.7+/8/9 sends some emails asynchronously through a queue (the mail queue in the database). If cron is not running:

  • emails pile up in the queue table and never leave,
  • confirmations arrive hours late or not at all.

Check in your hosting panel whether the cron job bin/console prestashop:mail:send-queue (or the equivalent for your version) runs regularly. You can flush pending emails manually from the command line.

  • ## Step 6: Test deliverability

The final test is not "I sent it — it reached my inbox"

  1. send a test order confirmation to: Gmail, Outlook, WP.pl, Onet and a company mailbox,
  2. check the spam folder in all of them,
  3. use mail-tester or GlockApps — you will see SPF, DKIM, DMARC and a content score,
  4. repeat the test after 24h — some filters act with a reputation delay.

If messages land in spam despite correct configuration, verify the email content: too many links, images without alt text and aggressive wording lower the reputation.

Tip: Add a plain text version to confirmation emails. Stores sending HTML only are more often classified as spam, and customers with HTML-less mail clients see no content.

When the problem is the store and when it is the hosting

  • Hosting — sending limits (often 100–500 emails/h), port 25 blocked, shared IPs with poor reputation.

  • Store — wrong SMTP configuration, outdated mail module, broken email template, queue without cron.

  • Domain — missing SPF/DKIM/DMARC, a bad sender address (e.g. no-reply@ without a mailbox).

  • The fastest diagnosis: send a test email from the PrestaShop panel and from a mail client (e.g. Thunderbird) — if the client's email arrives but the store's does not, the problem is in the store configuration or the hosting limit.

Frequently asked questions

Customers do not receive order confirmations — where do I start?

Check whether the store sends emails at all: send a test from the panel (Advanced Parameters → E-mail → Send a test email). If the test does not arrive — switch to authenticated SMTP. If it arrives but customers do not receive confirmations — check the order email template, the queue and spam filters.

Does switching to SMTP require a developer?

No — SMTP configuration is a few fields in the PrestaShop panel (server, port, username, password). A developer helps with unusual cases: mail queues, custom sending modules, API integration with a transactional service.

Emails land in spam — what to fix?

Configure SPF, DKIM and DMARC for the sender domain, run a mail-tester test and improve the email content (fewer links, a plain text version, a proper sender address with a mailbox). Reputation builds over several days — test regularly after the changes.

Can hosting block store emails?

Yes. Most shared hosts limit the number of sent messages and block port 25, and on suspicion of spam they can suspend sending entirely. The solution is an external transactional service or moving to a VPS with its own IP reputation.

Sources and tools


👉 Order confirmations not reaching customers? We will diagnose the sending setup and configure SMTP with SPF/DKIM — contact form or kontakt@informatix.com.pl. See also PrestaShop technical help.

📖 See also: PrestaShop logs, checkout not working and PrestaShop help.

Free PDF

Web app requirements checklist

12 control questions to answer before talking to a vendor — faster estimates, fewer hidden costs.

Related posts

13.10.2026

PrestaShop Help — Common Problems & Fixes [2026]

White screen, 500 error, broken checkout, missing emails — the most common PrestaShop failures have known repair procedures: backup, logs, debug mode, module isolation, testing. Ad-hoc fixes 200–600 PLN net, diagnostics with a report 500–1,500 PLN net, hourly packages from 900 PLN.

Read more

21.10.2026

PrestaShop Checkout Not Working — Fix Guide [2026]

A broken checkout is the most expensive store failure. Diagnosis: establish the stage (payment, shipping, confirmation), check module logs, run a purchase test, verify webhooks, API keys and JavaScript. Sales tickets get priority.

Read more