• Resolved Lee Hodson (VR51)

    (@leehodson)


    Hi there,

    We use HappyForms and WP Mail SMTP. We have configured Happyforms to send confirmation emails. We have configured WP Mail SMTP to use PHP Mailer with our preferred contact email address and sender name.

    We can send test emails using WP Mail SMTP. HappyForms form submissions are received by us but the confirmation email that should go to the message sender is not being sent.

    This issue happens on different sites on different servers with different server configurations.

    Just wanted to let you know there might be a bug in HappyForms re confirmation emails.

    By the way, since discovering Happyforms I have made it my go-to form builder plugin and I tell everyone else to use it as well. Thank you for all your work on this plugin.

Viewing 6 replies - 1 through 6 (of 6 total)
  • Plugin Author thethemefoundry

    (@thethemefoundry)

    Hey there, @leehodson!

    That’s quite weird, let’s investigate:

    1. Could you share a link to your form so we can take a look directly?
    2. Could you try a different email address? If you don’t have one, you can use a disposable email service (like Temp Mail).
    3. Do you have any access to your server PHP logs, that could let us check for errors?

    We’re glad to hear you like HappyForms, thanks for your support!

    Hello @thethemefoundry,

    I can answer all of them for you.

    1) Try this one skinandhairdoc.com/contact
    2) I tried several addresses. One gmail address, 2 different private email addresses hosted at different domains. Made no difference to the outcome.
    3) The error logs show no errors related to email, the plugin or the site at the times the tests were conducted. WP debug logs showed no errors for the emails.
    4) The servers show no failures for outbound email. The form submitter’s email address does not feature in each server’s email logs.

    Those answers offer little to work with, I know. I suspect the confirmation email that’s supposed to be sent to the message submitter’s email address is just not triggered. The forms otherwise work: the submitted message is received by the backend admin (so is logged) and is forwarded to the recipient addresses. We receive the message but the visitor’s own copy is not sent.leaves

    Plugin Author thethemefoundry

    (@thethemefoundry)

    Thank you, @leehodson!

    Your answers are instead quite useful, at least in ruling out a whole family of possible issues. I’ve noticed a detail in your reply. You wrote:

    the submitted message is received by the backend admin (so is logged) and is forwarded to the recipient addresses

    Does the above mean at least your users receive a submission confirmation?

    I’d also ask you to run another test:

    1. In an incognito window, head over to your /wp-login.php screen.
    2. Follow the Lost your password? link.
    3. Enter your administrator address and click Get New Password.
    4. Double check that the password reset email lands in your inbox. If it does, feel free to ignore it.

    The above check should confirm that nothing is interfering with WordPress mail API.

    Let’s hope we can figure this out quickly! Let us know your findings. 🙂

    Thanks for your reply.

    The interesting information is near the bottom of here. I have been able to fix it and I think I know where the fault was.

    But First

    Let’s define a few terms to make sure we know we are talking about the same items:

    1) Admin Users, Backend Admin and (site) Administrators: the people in the website’s management team who are meant to receive notice of messages sent through the website.

    2) Submitter: The site visitor who populates the form on the contact page in hope of being able to send a message to the Admin Users.

    When a contact form is populated and the Submit button is clicked:

    1) Admin Users receive a copy of the message
    2) The message is recorded in the WordPress database, and
    3) The web server logs the outbound email’s path with successful delivery notice received for each recipient.

    But,

    4) The Submitter does not receive the confirmation email, and
    5) The web server does not record the outbound message.

    As we can see from 1,2 and 3 the website does successfully send messages by email.

    As we can see from 4 and 5, the only addressee to whom the message never arrives is the Submitter. It looks as though the form ignores the confirmation message.

    I do receive other automatically triggered notices sent by the website such as security notifications and monthly reports.

    The Interesting Stuff – The Fix, Possibly

    I’ve switched SMTP plugin. The new one is Post SMTP (wordpress.org/plugins/post-smtp/). The test email sent via Post SMTP was successful. Still configured to use the default WordPress email system.

    The test email from Post SMTP said it came from wordpress@[THE DOMAIN]. This address is not registered on the server. This made me wonder whether wordpress@ is in use elsewhere within the site’s database and it was.

    I did a search and replace in the database using the Better Search and Replace plugin allowing GUIDs to be updated too. I replaced wordpress@ with another address.

    Either the fault was fixed by,

    A) Switching to the Post SMTP plugin, or
    B) The search and replace to change wordpress@ with another contact address

    Whichever it was, it worked.

    The contact form now sends messages to both admin recipients configured in the form and the Submitter’s email address.

    If you want to see the email logs captured by Post SMTP, let me know in a reply to this message and I will send to you through your website’s contact form.

    Might I recommend you change the suggested SMTP plugin to Post SMTP.

    Plugin Author thethemefoundry

    (@thethemefoundry)

    Wonderful, @leehodson!

    Thank you for your clear explanation. The address you see (wordpress@domain) is a WordPress default: WordPress uses it every time you send an email. HappyForms lets you override that (you do so by setting your Email address option), but it seems that something else sets it back on your site. When using an SMTP server that can be problematic: SMTP email accounts are actual accounts, and most won’t let you use an arbitrary “from” address. In other words, the email address must match the SMTP account defined by your SMTP credentials. Chances are, this was the root cause of your issue.

    It would be interesting to know what plugin those database entries you replaced were related to, as it would finally shed light on this little mystery.

    Anyway, thank you for your suggestion. We’ve been hearing mixed experiences with WP Mail SMTP, so we’re happy to hear that there’s a valid alternative. We’re taking notes!

    Let us know what you think. 🙂

    I have a database backup that I created before I ran the search and replace. If I get time I’ll look through it for those wordpress@ addresses.

    It’s always a good idea to create an email address on the server to match the addresses used in WordPress contact forms. I sometimes forget to do it. Should be added to the instructions for all contact forms.

    Thanks for your help. If I have anything else to report I’ll add it here.

Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘Confirmation Emails Not Sending’ is closed to new replies.