HOW TO DEBUG YOUR FORMS
You created a new form, added all the elements, set all the validations, added some scripts and published the form to a menu item. With pride, you open the newly created page, fill out the fields to test it, press that Submit button and suddenly, nothing happens. What's wrong, you might ask yourself. Well, to be honest, there can be a number of things that went wrong. A lot of times, the problem is a simple typo or an opened tag without its closing tag or the wrong name of a field. All those issues are easily detectable and fixable if you know where and how to look. In this series, we'll try to teach you how to do exactly that and you'll get some insight in how we try to debug your forms when you report an issue.
As it was mentioned already, the list of possible issues would be too big to fit in a yearly article, let alone a single one, so we'll try to go through a couple of usual cases we've noticed.
Today we're going to tackle the issue of emails not being sent.
The usual symptoms would be: your form works, you can submit it, the record is stored in the database but the Admin mail or the Mailback aren't reaching the designated email address.
We're assuming you already set the options to receive Admin mails and that the field containing the user's email address has the Mailback option turned on.
Since our components are using the default Joomla mailing API, the first step would be to check if your Joomla is sending mails at all. To do so, navigate to System > Global Configuration, switch to Server tab and in the lower right corner, you'll see Mail settings. Verify that the entered address is an address you have access to (after all, you have to check if the mail arrived) and click Send Test Mail. A notification should appear at the top of that page. It's either a success message or a fail message.
If sending the test mail failed, you'll also see an error message along with it which will give you some insight on why it doesn't work. For example, there have been times when suddenly the PHP mailer stops working. The usual error message that follows it, says „Could not start mail function“. Another usual error for SMTP would be failure to authenticate. Re-check your credentials. Switch between mailers (PHP Mail, sendmail, SMTP) and send the test mail again. If none of your mailers work, contact your hosting provider as it's most certain that the issue is on their side.
Another common issue for Admin Emails is if you're using an Alternative Reply-to Email address, there is a possibility your mail will be rejected due to security measures. For best results, use an address with the same domain as your site. A similar problem with not sending mailbacks is that your domain might be blacklisted. You can use tools such as https://mxtoolbox.com to run a test on your domain.
If you've checked all of the previous, re-check your fields and field properties for any spelling errors. If the issue persists, the form is probably malfunctioning (and you haven't noticed) or there is a deeper issue. This would be a good time to contact our Customer Support.
Next time we'll talk a bit about some of the usual errors that can stop your form from functioning the way you designed it.