PrestaShop contact form broken or flooded with spam
A PrestaShop contact form that stops delivering messages, and one drowning in automated submissions: two separate faults with two different diagnoses, often lumped together under the same word, spam or bug.
The form stops sending anything
The most common symptom: a customer fills in the form, submits it, and nothing ever reaches the inbox. PrestaShop doesn’t store contact form messages in the database by default, everything relies on sending an email at submission time — if that send fails silently, there’s nowhere to recover the lost message.
Three causes come up most often:
- The server’s outbound mail setup, under Advanced Parameters > Email: by default PrestaShop uses the PHP
mail()function, which many hosts throttle or block without a clear warning. Switching to an external SMTP server fixes most cases. - A wrong recipient address in Preferences > Contacts: each contact reason (customer service, webmaster…) has its own address, and a typo or a disabled mailbox is enough to drop messages with no visible error.
- A contact controller override broken by an update: if the file was customised to add a field or custom logic, a PrestaShop update can make it incompatible without throwing a visible error on the front end.
The form is flooded with spam
The opposite symptom: the form works, but the inbox fills up with automated messages, often in English, with suspicious links or attachments. PrestaShop ships no native anti-bot protection on this form: without reCAPTCHA or a honeypot field, a bot can submit it hundreds of times a day with no human involved.
Fixing it almost always means development, small but real: adding an invisible honeypot field (a field only bots fill in, so their submission can be silently rejected), or integrating reCAPTCHA on the contact controller. An existing module can be enough if it covers this exact form; otherwise the integration goes directly into the template and controller.
Related pages
-
Order confirmation emails not received
The same delivery chain is at fault when customers never get their order confirmation: a step-by-step diagnosis.
-
Order statuses and automatic emails
Every status change can trigger its own email: how that mechanism is configured, and where it breaks.
-
Custom module development
Anti-spam protection, a custom field, business logic: when an existing module isn’t enough, I build the missing piece.
Describe your need in one minute
A few targeted questions so I can reply with an estimate rather than another questionnaire.