Home › Knowledgebase › KB-1192

Why Your Website Contact Form Isn't Sending Emails After Changing Your MX Records

Summary

This guide helps you troubleshoot and resolve: Why Your Website Contact Form Isn't Sending Emails After Changing Your MX Records. Follow the steps below to fix the issue.

Quick Tip: Need immediate assistance? 💻 Open a Ticket

Common Causes

Changing your MX (Mail Exchange) records tells the internet where to deliver emails for your domain. While this is necessary when switching to a new email provider, it can inadvertently break your website's contact form. This happens because your web server often attempts to send form submissions using your own domain name, but after an MX change, that server may no longer be authorised to handle mail for your domain, resulting in messages being rejected or silently dropped.

Quick Fix Steps

  1. Identify where your website is hosted and access your hosting control panel.
  2. Check the email routing settings for your domain.
  3. Update your SPF record to include your web server's IP address.
  4. Send a test submission through your contact form to verify delivery.

Detailed Instructions

1. Check Local Email Routing

If your website and email are hosted on the same server, your web server may be trying to deliver emails locally instead of sending them to your external mail provider.

  1. Log in to your hosting control panel (such as cPanel or Plesk).
  2. Navigate to the Email or Mail section.
  3. Select MX Entry or Email Routing.
  4. Choose your domain from the dropdown menu.
  5. Set the routing to Remote Mail Exchanger if your emails are hosted elsewhere (e.g., Microsoft 365 or Google Workspace).
  6. Click Change or Save to apply the setting.

2. Update Your SPF Record

Sender Policy Framework (SPF) records tell receiving mail servers which servers are allowed to send email on behalf of your domain. If your web server is not listed, contact form emails may be marked as spam or rejected.

  1. Log in to your domain registrar or DNS management portal.
  2. Locate the DNS management section for your domain.
  3. Find the existing TXT record that begins with v=spf1.
  4. Edit the record to include your web server's IP address or hostname. For example, if your web server IP is 203.0.113.5, your record might look like: v=spf1 ip4:203.0.113.5 include:_spf.google.com ~all.
  5. Save the changes and allow time for DNS propagation.
If you are unsure of your web server's IP address, check your hosting welcome email or contact your hosting provider.

3. Test the Contact Form

  1. Visit your website and navigate to the contact page.
  2. Fill out the form using an email address that is not hosted on your domain to avoid caching issues.
  3. Submit the form and check the receiving inbox.
  4. If the email does not arrive, check the spam or junk folder.

Troubleshooting

Emails Still Not Arriving

Contact Form Returns an Error

Avoid setting your email routing to "Local Mail Exchanger" if you use an external email service. This will cause all emails sent to your domain to be handled by the web server rather than delivered to your inbox.

If you host with us, you don't need to do this yourself — just Open a Ticket and our Brisbane team will get it sorted.

Still Having Issues?

Need more help? If the issue persists after trying these steps, please open a support ticket and our team will assist you.

💻 Open a Ticket