Troubleshooting
By the end of this page you will know where to look for the cause of the most common problems, and how to fix each one.
An email never arrives
Section titled “An email never arrives”Start at TrazoForms → Activity log. It records every email that failed to send, with the reason and a masked recipient address — successful sends aren’t logged, so an entry with no matching log line usually means the email was sent but never delivered. See Entries for what else the log tracks.
Common causes:
- The notification’s “From” address isn’t on your own domain. Many hosts silently drop mail sent by PHP with a “From” on a domain they don’t recognize, and other providers flag it as spam. Use a “From” address on your own domain, and send mail through an SMTP plugin or service rather than relying on the server’s own mail function — see Notifications for the “From” and “Reply to” fields.
- TrazoForms has no mail server of its own. It hands every email to WordPress, so delivery depends entirely on your site’s own mail setup. If nothing in the activity log explains a missing email, the problem is upstream of the plugin.
- The entry landed in Spam. Spam entries never trigger notifications — see below.
- The notification is turned off, or its conditions don’t match the entry. Check Notifications and Conditional logic.
- The recipient is a “field” recipient and that field was left empty.
A submission is rejected as spam, without ever showing an error
Section titled “A submission is rejected as spam, without ever showing an error”This is by design, not a bug: TrazoForms never tells a bot it was caught. A submission stopped by the anti-spam checks — the hidden trap field, or completed faster than the minimum time (3 seconds by default) — shows the visitor the normal confirmation, but is saved to the Spam view in Entries instead of Active, with a note explaining why, and no notification is sent.
If a real person was caught, open the entry and choose Not spam. This doesn’t resend the notifications that were skipped.
Two related problems do show the visitor a message:
- “Too many submissions in a short time from this connection. Please wait a few minutes and try again.” — the submission rate limit was reached.
- “The form submission could not be verified. Please try again.” — usually a page kept in a cache for too long. See the caching note in Publish a form.
The form doesn’t appear on the page
Section titled “The form doesn’t appear on the page”- The shortcode isn’t actually on the page, or has a typo in the
id. See Publish a form. - The form was deleted. Deleting a form is permanent — there’s no trash or draft state to recover it from.
- An availability setting is hiding it. Instead of the form, visitors see a message — the default text unless you set your own:
- Login required: “You must be logged in to fill out this form.”
- Not open yet: “This form is not open yet.”
- Closed: “This form is closed.”
- Response limit reached: “This form has reached its maximum number of responses.”
- The form was just submitted. The confirmation replaces the form on success — that’s expected, not a sign it disappeared.
A file won’t upload
Section titled “A file won’t upload”- “«filename» is not an accepted format. Accepted formats: …” — the extension isn’t in the field’s allowed list. Check the field’s settings; only file types WordPress itself allows on your site can be added there.
- “«filename» is larger than the maximum size of N MB.” — the file is over the smaller of two limits: the field’s own setting, and what your server accepts. The field’s settings show what your server allows.
- The whole submission fails silently, with no specific file error — the combined size of all files went over what the server accepts for one request (
post_max_size), so PHP discards the submission before TrazoForms can check individual files. Uploading fewer or smaller files at once fixes it. - “«filename» could not be uploaded. Please try again.”, with no other explanation — WordPress itself rejected the file because its actual content doesn’t match its extension (for example, a renamed file). This message is intentionally generic; it isn’t a sign of a plugin bug.
“This value has already been registered.”
Section titled ““This value has already been registered.””A field with Do not allow duplicate values across entries rejects a value that matches another active entry of the same form — spam and trashed entries are never counted, so they can’t block a real submission. See Field settings and Availability and spam. This setting is available on text, textarea, email, phone, website, number, date and time fields — not on choice fields (checkboxes, radio, select, multi-select), name, address, consent or file upload fields, since those don’t take a single comparable value.
A Pro feature isn’t there
Section titled “A Pro feature isn’t there”Without an active Pro license, Pro-only controls — adding or duplicating notifications and confirmations, conditions on them, attachments, multi-page settings, raising the file-upload limit — aren’t shown at all: there’s no locked button or upsell to click through. See Free vs. Pro for the full list.
If a feature you were using before is suddenly gone, your license most likely lapsed. Nothing you built is deleted or broken — see what happens if you stop renewing Pro for exactly what’s paused and what keeps working.
Still stuck?
Section titled “Still stuck?”Go back to the documentation overview to find the page for the specific feature you’re working with.