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.
| Setting | Value |
|---|---|
| SMTP host | smtp.postwing.app |
| Port | 587 |
| Encryption | STARTTLS (the connection is upgraded to TLS before login) |
| Username | The login of an SMTP token for your domain |
| Password | The password of that token — shown once, when the token is created |
Go to Advanced Parameters → E-mail and select Set my own SMTP parameters:
| Field | Value |
|---|---|
| Send emails to | Customers and merchant |
| Set my own SMTP parameters | Enabled |
| Mail domain name | your-domain.com |
| SMTP server | smtp.postwing.app |
| SMTP username | The login of an SMTP token for your domain |
| SMTP password | That token's password |
| Encryption | TLS |
| Port | 587 |
| Email format | Both — HTML and text |
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.
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.
| Symptom | Cause and fix |
|---|---|
| Test email fails to connect | Blocked outbound port. Use 8587 (TLS) or 8465 (SSL). |
| Authentication error | Wrong 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. |
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.
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.
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.
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.
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.
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.