Docs / PrestaShop

Send email in PrestaShop over SMTP

PrestaShop defaults to PHP's mail() function, which is why so many shops find order confirmations never reaching customers. SMTP support is built in — no module required — and switching to it takes one settings page.

You can get them on the token management page. For security reasons, a token is shown only once — at the moment it is created.

SMTP connection settings

SettingValue
SMTP hostsmtp.postwing.app
Port587
EncryptionSTARTTLS (the connection is upgraded to TLS before login)
UsernameThe login of an SMTP token for your domain
PasswordThe password of that token — shown once, when the token is created
Every mode is also available on a high port: 8465 (SSL/TLS), 8587 (STARTTLS) and 8025 (plain). Many hosting providers and clouds block outbound 25, 465 and 587 — if the connection times out, switch to the matching high port.

Configure PrestaShop

Go to Advanced Parameters → E-mail and select Set my own SMTP parameters:

FieldValue
Send emails toCustomers and merchant
Set my own SMTP parametersEnabled
Mail domain nameyour-domain.com
SMTP serversmtp.postwing.app
SMTP usernameThe login of an SMTP token for your domain
SMTP passwordThat token's password
EncryptionTLS
Port587
Email formatBoth — HTML and text
An HTML-only message with no plain-text alternative is a recognised spam signal, and PrestaShop already ships a text version of every template — there is nothing to gain from switching it off.

Set the shop's sender address

Under Shop Parameters → Contact → Stores, and for each entry under Customer Service, set the email address to one on your verified domain. This is what decides whether receipts pass DMARC — a shop sending from a free mail provider cannot align DKIM or SPF.

Send a test email

The bottom of the E-mail page has a test field. Enter your own address and send — on failure PrestaShop prints the SMTP server's reply, which identifies whether the problem is the port, the encryption or the credentials.

Troubleshooting

SymptomCause and fix
Test email fails to connect Blocked outbound port. Use 8587 (TLS) or 8465 (SSL).
Authentication errorWrong token login or password.
Test works, order emails do not The order status has "Send email to customer" unticked, or the template is missing for that language.
Emails go to spam The shop email address is not on your verified domain.
Encryption error on connect TLS selected with port 465, or SSL with 587. Match them.
Nothing at all after upgrading A mail override module from the previous version is still installed.

Frequently asked questions

Where are PrestaShop's SMTP settings?

Advanced Parameters → E-mail. Choose 'Set my own SMTP parameters' and the server, user, password, encryption and port fields appear. The page also has a test section at the bottom that reports the SMTP error verbatim.

Why are PrestaShop order confirmation emails not sending?

The default 'Use PHP mail() function' setting relies on a local mail server that most hosting does not provide, so messages are silently discarded. Switching to your own SMTP parameters fixes it. If it still fails, check that Send Email to Customers is enabled in the same panel.

Which encryption and port should I use in PrestaShop?

TLS with port 587, or SSL with port 465. PrestaShop passes the choice straight to Swift Mailer or Symfony Mailer depending on your version, and a mismatch between the encryption and the port produces a connection error rather than a useful message.

Why do PrestaShop emails go to spam?

The shop email address under Shop Parameters → Contact → Stores, and the addresses on each contact under Customer Service, must be on the domain you verified. A shop that sends receipts from a Gmail address cannot align DKIM or SPF and will be filtered.

Why does the test email work but order emails do not arrive?

The test only proves the SMTP connection. Order emails additionally depend on the email templates existing for the shop's language and on the order state having 'Send email to customer' ticked under Statuses. Check both.

Should I use the HTML and text email format?

Yes — leave the email format on 'Both'. HTML-only messages with no plain-text part are treated as a spam signal by most filters, and PrestaShop ships text versions of every template anyway.

Next steps