E-commerce8 min read

PrestaShop email: SMTP + DNS that holds

PrestaShop's default mail configuration works on day one and breaks on day thirty. Here is the path to a PrestaShop transactional stack that keeps order confirmations in the inbox at volume.

PrestaShop is popular in Europe, especially France, Spain and Italy, where local mailbox providers (Orange, Free.fr, La Poste, GMX, Libero) add complications on top of the Gmail/Outlook baseline. The built-in Advanced Parameters → Email configuration is adequate but brittle, and the ecosystem of SMTP modules is uneven.

The baseline fix is the same as on any PHP e-commerce platform: stop using PHP mail(), route through an authenticated SMTP relay, authenticate the sender domain. PrestaShop adds a few platform-specific traps worth knowing up front.

The short path

In Advanced Parameters → Email, flip to SMTP. Point at a relay (Brevo, SendGrid, Mailjet). Publish SPF, DKIM and DMARC. Run a seed test. For stores larger than 5k orders/month, add a dedicated SMTP module with logging.

The default configuration

PrestaShop 1.7 and 8.x expose three email methods in Advanced Parameters → Email:

  • Use PHP's mail() function (recommended): this is the default. It is emphatically notrecommended — the UI lies.
  • Set my own SMTP parameters: basic SMTP form with hostname, port, encryption, user, password. This is the right choice.
  • Never send email: for development only.

SMTP setup

Brevo (free 300/day) example

# PrestaShop Advanced Parameters > Email
Mail domain: yourstore.com
Mail method: Set my own SMTP parameters
Mail server: smtp-relay.brevo.com
Encryption: TLS
SMTP username: your_brevo_login@yourstore.com
SMTP password: <SMTP key from Brevo, not your password>
Port: 587

SendGrid example

Mail server: smtp.sendgrid.net
Encryption: TLS
SMTP username: apikey
SMTP password: <full SG API key>
Port: 587
PrestaShop does not store the password securely

SMTP credentials sit in the ps_configurationtable in plaintext. Treat that database as secret, use infrastructure-level access control, and rotate the SMTP key if you restore the database to staging or share it with a developer.

DNS for the sender domain

PrestaShop will not validate these for you. Publish at your registrar and verify with dig or MXToolbox before you trust the result.

; example zone, Brevo as relay, apex = yourstore.com
yourstore.com.                   TXT   "v=spf1 include:spf.brevo.com ~all"
mail._domainkey.yourstore.com    TXT   "k=rsa; p=<public key from relay>"
_dmarc.yourstore.com             TXT   "v=DMARC1; p=none; rua=mailto:dmarc@yourstore.com; fo=1"
bounce.yourstore.com             CNAME ob.sendibm3.com.

European stores sending to Orange (orange.fr, wanadoo.fr), Free.fr and La Poste should run a specific placement test against those providers. Their filters are stricter than Gmail's and sometimes reject on a clean DMARC setup that Gmail would accept.

Order status templates

PrestaShop ships localised templates atmails/<locale>/. Each order status has its own HTML and TXT pair —order_conf.html, shipped.html,payment.html. The common failure modes:

  • Missing TXT partner: a theme developer customises the HTML template and forgets the matching TXT. PrestaShop still sends, but as HTML-only, hurting placement.
  • Heavy inline CSS: the default layout is roughly 50 KB before content. Strip unused styles.
  • Image hosting: banner images referenced with absolute HTTP URLs (not HTTPS) trigger mixed-content warnings in Gmail and depressed placement in Outlook.

The Mail Alerts module

PrestaShop's built-in Mail Alerts module sends order notifications to the admin. It uses the same mailer, so authentication applies. But it also sends low-stock alerts to a potentially different email — check that address is on your seed list or a mailbox you monitor.

Third-party SMTP modules

  • PrestaShop SMTP Pro: adds logging, per-template routing, retry handling. Worth it at 5k+ orders/month.
  • SendGrid for PrestaShop: official-looking but community-maintained. Uses the SG API, better error surface than plain SMTP.
  • Mailjet for PrestaShop: Mailjet is French-headquartered and handles EU providers well.

Seed test the EU provider set

A seed test across Gmail, Outlook and Yahoo is a start, but PrestaShop stores typically ship to customers on Orange, Free.fr, La Poste, GMX, Libero and Tiscali. Testing only the global trio misses the specifically European failure modes.

Free EU-weighted placement test

Our seed set includes Orange, Free.fr, La Poste, GMX and T-Online alongside the global providers. See real placement before you push a theme change live.

→ Run Free Test · → PrestaShop integration beta

FAQ

Does PrestaShop support OAuth for Gmail/Microsoft?

Not natively. You need a third-party module for OAuth. For most stores, a dedicated SMTP relay is simpler than Google Workspace OAuth and scales better.

Why is my confirmation email to French customers on Orange being rejected?

Orange is strict about SPF -all hard fail and about alignment. Check your SPF does not end with +all or ~all by accident, verify DKIM alignment, and make sure your DMARC policy is at least p=none published.

Can I split newsletter and order emails to different relays?

Yes, but PrestaShop's built-in mailer supports one SMTP config. For split streams, use a module like PrestaShop SMTP Pro, or keep the newsletter on Mailchimp/Brevo campaigns and use the core mailer for transactional only.

How do I know if DKIM is actually signing?

Send a test order to a Gmail seed address. Open the message, View Original. Look for the Authentication-Results header — dkim=pass and dkim header.d=yourstore.com. If header.d is the relay's domain, DKIM is not aligned to yours yet.
Related reading

Check your deliverability across 20+ providers

Gmail, Outlook, Yahoo, Mail.ru, Yandex, GMX, ProtonMail and more. Real inbox screenshots, SPF/DKIM/DMARC, spam engine verdicts. Free, no signup.

Run Free Test →

Unlimited tests · 20+ seed mailboxes · Live results · No account required