{"id":673,"date":"2023-06-02T12:05:04","date_gmt":"2023-06-02T09:05:04","guid":{"rendered":"https:\/\/presta.site\/blog\/?p=673"},"modified":"2026-07-25T22:27:19","modified_gmt":"2026-07-25T19:27:19","slug":"fixing-prestashop-email-problems-a-simple-guide","status":"publish","type":"post","link":"https:\/\/presta.site\/blog\/en\/fixing-prestashop-email-problems-a-simple-guide\/","title":{"rendered":"Fixing PrestaShop Email Problems: SMTP, Logs, and Delivery Checklist"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">When order confirmations, contact-form replies, or password resets never arrive, you are dealing with <strong>PrestaShop email problems<\/strong> &#8211; not a broken checkout. Most cases come down to the mail method (sendmail vs SMTP), a \u201cNever send emails\u201d leftover from staging, wrong module recipients, or the message landing in spam. This checklist walks through the Back Office screens that usually fix delivery first.<\/p>\n\n\n<!--more-->\n\n\n<p class=\"wp-block-paragraph\">Generic \u201cset up SMTP\u201d advice is easy to get from a chatbot. It still fails when the shop is on <strong>Never send emails<\/strong>, when Mail Alerts points at an old inbox, or when the Back Office test is green while order mail never fires. This guide treats PrestaShop email problems as a stack: transport \u2192 shop log \u2192 module recipients \u2192 spam\/DNS &#8211; and tells you which layer each symptom points to.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">From PrestaShop 1.7 onward (including 8 and 9), mail transport lives under <strong>Advanced Parameters \u2192 E-mail<\/strong>. Official field notes are in the <a href=\"https:\/\/docs.prestashop-project.org\/v.9-documentation\/user-guide\/configuring-shop\/advanced-parameters\/email\" target=\"_blank\" rel=\"noopener noreferrer\">PrestaShop 9 E-mail documentation<\/a>. The address printed on the store (From \/ Reply-To identity) is a different setting &#8211; if you only need to change that address, use the <a href=\"https:\/\/presta.site\/blog\/en\/how-to-change-the-shop-e-mail-in-prestashop\/\">shop email guide<\/a> first, then return here if messages still fail to send.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Three problems people mix up<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Before you change SMTP ports, name which failure you actually have:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Transport<\/strong> &#8211; PrestaShop cannot hand the message to sendmail\/SMTP (this page). Fix: mail method, credentials, host blocks.<\/li>\n<li><strong>Identity<\/strong> &#8211; Mail sends, but From \/ Reply-To \/ displayed shop address is wrong. Fix: store + contact settings (shop email guide).<\/li>\n<li><strong>Recipients<\/strong> &#8211; Transport works, but new-order alerts go to the wrong staff inbox (or nowhere). Fix: <strong>Mail Alerts<\/strong> and similar modules &#8211; not the global E-mail method alone.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Treating all three as one \u201cemail is broken\u201d ticket is why copy-pasted SMTP tutorials waste an afternoon. Split the stack first, then fix the layer that matches the symptom &#8211; that is the practical way to debug PrestaShop email problems in 2026.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Symptom \u2192 layer map<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Use what you see after a test order or contact submit. These patterns cover most PrestaShop email problems after a migration, clone, or host change:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>No row in the PrestaShop email log<\/strong> \u2192 the shop never attempted a send. Check Never send, mail method, and whether the module that should fire is enabled.<\/li>\n<li><strong>Log row with an error<\/strong> \u2192 transport (auth failed, connection refused, TLS\/port mismatch). Stay on SMTP\/sendmail settings.<\/li>\n<li><strong>Log row looks successful, inbox empty<\/strong> \u2192 spam, promotions, or domain authentication (SPF\/DKIM) &#8211; not PrestaShop form fields.<\/li>\n<li><strong>Merchant never gets new-order mail, customer confirmation arrives<\/strong> \u2192 Mail Alerts recipients, not SMTP.<\/li>\n<li><strong>BO \u201cTest your email configuration\u201d is green, real orders stay silent<\/strong> \u2192 module path or template issue after transport. Do not keep rotating SMTP passwords.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Open Advanced Parameters \u2192 E-mail<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Go to <strong>Advanced Parameters \u2192 E-mail<\/strong>. You will see three mail methods:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Use PHP\u2019s mail() function \/ sendmail<\/strong> &#8211; the server\u2019s local mailer. Fine on many hosts until delivery or spam issues appear.<\/li>\n<li><strong>Set my own SMTP parameters<\/strong> &#8211; send through Gmail, Outlook, SendGrid, Amazon SES, or your host\u2019s SMTP. Prefer this when shared hosting blocks outbound mail or when messages keep hitting spam.<\/li>\n<li><strong>Never send emails<\/strong> &#8211; silences all shop mail. Useful on staging; disastrous if left on a live shop.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"425\" src=\"https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_1-2-1024x425.png\" alt=\"PrestaShop Advanced Parameters E-mail mail method settings\" class=\"wp-image-675\" srcset=\"https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_1-2-1024x425.png 1024w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_1-2-300x125.png 300w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_1-2-768x319.png 768w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_1-2.png 1395w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If the live store suddenly stopped mailing after a clone or migration, check <strong>Never send emails<\/strong> before anything else. Staging dumps often ship with that toggle on. One leftover setting explains many \u201cnothing sends\u201d tickets that never needed a new SMTP provider.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Read the PrestaShop email log<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">On the same E-mail page, PrestaShop keeps a log of messages it attempted to send. Open it when you need to separate \u201cPrestaShop never tried\u201d from \u201cthe provider rejected or delayed the message.\u201d That single distinction removes most of the guesswork.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>No row after a test order \u2192 PrestaShop did not queue or send (method, module, or template issue).<\/li>\n<li>A row exists but the inbox is empty \u2192 look at spam, SMTP credentials, or the provider\u2019s outbound filters.<\/li>\n<li>An error line in the log \u2192 fix that first (auth failed, connection refused, TLS\/port mismatch).<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"306\" src=\"https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_4-1-1024x306.png\" alt=\"PrestaShop email log used to diagnose failed order and contact messages\" class=\"wp-image-681\" srcset=\"https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_4-1-1024x306.png 1024w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_4-1-300x90.png 300w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_4-1-768x229.png 768w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_4-1.png 1389w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Server sendmail or SMTP provider logs sit outside PrestaShop. Use them only after the shop log shows a send attempt that still never arrives.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Checklist for common PrestaShop email problems<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">If you use sendmail<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Blocked or missing sendmail is still a frequent cause of PrestaShop email problems on shared hosting:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Confirm the host allows outbound mail. Many shared and some VPS plans block port 25 or disable sendmail entirely.<\/li>\n<li>Ask the host a concrete question: \u201cIs PHP mail()\/sendmail allowed for this account, or must we use SMTP?\u201d Vague tickets get vague answers.<\/li>\n<li>If the host says \u201cuse SMTP,\u201d switch the mail method and skip fighting sendmail.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">If you use SMTP<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Match server, port, encryption (TLS\/SSL), username, and password to the provider\u2019s <em>current<\/em> docs &#8211; old \u201cSSL on 465\u201d notes go stale, and chatbots often recycle them.<\/li>\n<li>Complete any one-time app password or SMTP access step the provider requires (Google Workspace and Microsoft 365 change this often).<\/li>\n<li>Send a test (next section). Auth errors almost always mean wrong password, wrong username format (full email vs local part), or blocked app access &#8211; not a PrestaShop bug.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Before you overwrite SMTP credentials on a production shop, take a <a href=\"https:\/\/presta.site\/blog\/en\/how-to-create-a-backup-in-prestashop\/\">PrestaShop backup<\/a> so you can roll back if a bad save locks you out of mail entirely.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">If only some emails fail<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Transport can be fine while one module still points at an old inbox or is disabled. New-order alerts usually come from the <strong>Mail Alerts<\/strong> module &#8211; not from the global E-mail screen alone. Confirm the module is installed, enabled, and lists the right addresses. Wrong \u201cshop email\u201d identity (From \/ Reply-To) is a different fix &#8211; cover that in the shop email guide linked above.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Test your email configuration<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Still on <strong>Advanced Parameters \u2192 E-mail<\/strong>, use <strong>Test your email configuration<\/strong>. Send to an inbox you control (not only an internal alias). Read the response PrestaShop shows &#8211; connection and auth failures often name the exact setting to fix. Use that test to separate config errors from other PrestaShop email problems further down the stack.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"176\" src=\"https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_2-1-1024x176.png\" alt=\"Test your email configuration tool in PrestaShop Back Office\" class=\"wp-image-677\" srcset=\"https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_2-1-1024x176.png 1024w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_2-1-300x52.png 300w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_2-1-768x132.png 768w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_2-1.png 1389w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">After a green test, place a real test order in a private window and submit the contact form. Confirm both the customer copy and the merchant alert. A passing BO test with a failing order email usually means a module recipient or template issue, not SMTP &#8211; keep that distinction when you are tempted to \u201cjust change the host again.\u201d<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Spam, domain authentication, and hosting limits<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If the log shows success but Gmail or Outlook still hides the message, check spam and promotions. Spam folders hide many PrestaShop email problems that look like \u201cSMTP is broken\u201d from the merchant\u2019s chair. Long-term, authenticate the sending domain (SPF, and DKIM when your SMTP provider supports it) so providers trust mail from your domain. Shared hosts that throttle or block outbound mail force you onto SMTP regardless of how clean the PrestaShop settings look.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Work the list in order: name the layer \u2192 Never send \u2192 mail method \u2192 log \u2192 SMTP or sendmail checks \u2192 module recipients \u2192 test \u2192 spam\/DNS. That sequence clears most PrestaShop email problems without guessing &#8211; and without rewriting SMTP settings for a Mail Alerts typo.<\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>Fix PrestaShop email problems when orders or contact forms fail. Check Never send, SMTP vs sendmail, logs, and the built-in test.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25],"tags":[],"class_list":["post-673","post","type-post","status-publish","format-standard","hentry","category-development"],"_links":{"self":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/posts\/673","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/comments?post=673"}],"version-history":[{"count":10,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/posts\/673\/revisions"}],"predecessor-version":[{"id":2009,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/posts\/673\/revisions\/2009"}],"wp:attachment":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/media?parent=673"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/categories?post=673"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/tags?post=673"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}