Free starter kit: 5 Notion templates with a setup guide · Get it free

How to Fix WordPress and WooCommerce Emails Going to Spam with SMTP2GO

October 30, 2026·18 min read·Review Tools

Disclosure: This post contains affiliate links. If you buy through them, Create Digital Tools may earn a commission at no extra cost to you. We only recommend tools we think are a good fit for small businesses.

A customer pays, the order goes through, and the confirmation email quietly lands in their spam folder. Then the “did my order work?” messages start. If WordPress emails going to spam is a weekly headache for you, the fix is usually not your content. It is how your site sends mail in the first place.

WordPress emails going to spam is one of the most common problems for small online stores, membership sites and service businesses running WooCommerce. This guide explains why it happens, then walks through a complete fix with SMTP2GO: creating an account, verifying your sender domain with DNS records, connecting the official WordPress plugin, sending a test, checking delivery reports and adding a DMARC record. Every menu name below comes from SMTP2GO’s, WordPress.org’s, WooCommerce’s or Hostinger’s own documentation.

Quick answer

WordPress sends email through PHP by default, and those messages usually arrive without proper SPF, DKIM and DMARC alignment, so inbox providers treat them as suspicious. The fix is to send through an authenticated email service instead:

  1. Create an SMTP2GO account (the free plan covers 1,000 emails a month).
  2. Verify your domain under Sending > Verified Senders > Sender domains by adding three CNAME records.
  3. Create an API key under Sending > API Keys.
  4. Install the official “SMTP2GO for WordPress” plugin, paste the key and set your From address.
  5. Send a test from the plugin’s Test tab, check Reports > Activity, then add a DMARC record.

Why WordPress emails going to spam is so common

Out of the box, WordPress uses a function called wp_mail() to send everything: password resets, contact form notifications, new user emails and, if you run WooCommerce, every order confirmation, invoice and shipping notice. Behind the scenes, wp_mail() hands the message to PHPMailer, which by default uses your web server’s PHP mail function.

The problem is not that the email is never sent. It is that the email arrives without the credentials modern inbox providers expect. Gmail, Outlook and Yahoo check whether a message is really allowed to come from the domain in the From line, and plain PHP mail usually cannot prove that.

What PHP mail is missing: SPF, DKIM and DMARC

Three DNS-based checks decide whether an email looks legitimate:

  • SPF lists which servers are allowed to send mail for your domain.
  • DKIM adds a cryptographic signature that proves the message was not altered and was sent with your domain’s permission.
  • DMARC tells receiving servers what to do when SPF or DKIM fail, and requires the authenticated domain to align with the visible From domain.

Hostinger’s own support article on PHP mail puts it plainly: emails sent via php mail() “often lack proper authentication headers” and “often skip necessary authentication (SPF, DKIM, and DMARC) checks”, which makes them more likely to be filtered as spam or rejected. Hostinger strongly recommends sending through SMTP instead, because SMTP includes proper authentication.

Shared hosting limits make it worse

Hosts also cap PHP mail because spammers abuse it. Hostinger, for example, documents a limit of 10 emails per minute and 100 emails per day for unauthenticated PHP mail, and says messages beyond those caps may not be delivered. For a WooCommerce store that sends an order email to the customer and another to the shop owner for every sale, plus password resets and form notifications, 100 a day can disappear quickly during a promotion.

Gmail and Yahoo sender rules raised the bar

SMTP2GO’s guide to emails going to spam lists missing or misconfigured authentication as the first cause, and summarises Gmail and Yahoo’s sender requirements: SPF and DKIM, a DMARC record of at least p=none with alignment, and low spam complaint rates. Those rules are strictest for bulk senders, but SMTP2GO recommends following them at any volume. A small shop sending order emails benefits from the same authentication.

What SMTP2GO is and why it fixes the problem

SMTP2GO is an email delivery service. Instead of your web server sending mail directly, your WordPress site hands each email to SMTP2GO, which sends it from its own infrastructure, signed with DKIM for your domain and aligned with SPF through the DNS records you add. Its homepage describes the service as “Email delivery done right” and highlights reporting on sent emails, bounces, spam complaints and unsubscribes, alerts for issues like rising bounce rates, and no arbitrary sending caps of the kind ISP or web host SMTP services impose.

SMTP2GO homepage with the Email delivery done right headline
SMTP2GO’s homepage (screenshot of smtp2go.com).

We have a full SMTP2GO review covering features, support and alternatives. This post focuses only on the WordPress and WooCommerce fix, step by step.

How SMTP2GO handles WooCommerce emails

WooCommerce does not have its own separate mail system. It sends through wp_mail() like the rest of WordPress. SMTP2GO’s WooCommerce setup guide explains that its plugin replaces standard WordPress email handling, so all email, including WooCommerce’s order and account emails, goes through your SMTP2GO account. That means one setup covers your store, your contact forms and your WordPress system emails.

SMTP2GO WooCommerce setup guide page
SMTP2GO’s WooCommerce setup guide (screenshot of smtp2go.com/setupguide/woocommerce).

Before you start: what you need

  • A domain you control, with access to its DNS settings (at your registrar or host).
  • An email address on that domain, such as orders@yourstore.com. SMTP2GO’s signup form requires a work email and rejects free webmail addresses like Gmail and Yahoo.
  • WordPress admin access so you can install plugins. The SMTP2GO plugin listing requires WordPress 6.2 or higher and PHP 7.4 or higher.
  • A mobile phone for SMTP2GO’s SMS verification code during signup.
  • About 20 to 30 minutes, plus waiting time for DNS changes to propagate.

If your site and domain are on Hostinger, you can add every DNS record in this guide from hPanel without touching another provider. If your domain’s nameservers point elsewhere (for example, to Cloudflare), Hostinger’s documentation notes that DNS is managed there instead.

How to fix WordPress emails going to spam with SMTP2GO: step by step

Step 1: Create your SMTP2GO account

SMTP2GO’s getting-started article describes the signup flow like this:

  1. Go to SMTP2GO and choose a plan. The free plan allows 1,000 emails per month, and paid plans can be billed monthly or annually.
  2. Sign up with your work email address (the one on your own domain).
  3. Verify your phone number with the 5-digit SMS code.
  4. Click the activation link SMTP2GO sends to your email, then log in to the app.

Most small stores can start on the free plan and upgrade later if order volume grows. The plan limits are covered in the pricing section further down.

Step 2: Add your sender domain

Sender verification is mandatory: SMTP2GO’s Verified Senders article says verified senders have been required for sending since April 11, 2025. You have two options, and SMTP2GO recommends the first:

  • Sender domain: verifies the whole domain, aligns it with SPF and DKIM, and lets you send from any address on it.
  • Single sender email: verifies just one address via a confirmation link. SMTP2GO warns that this does not align the domain with SPF and DKIM, which can still lead to spam folder placement, so it is meant only for cases where you cannot edit DNS.

To add a sender domain, following SMTP2GO’s documentation:

  1. In the left-hand menu of the SMTP2GO app, go to Sending > Verified Senders > Sender domains.
  2. Click Add sender domain.
  3. Enter the bare domain, for example yourstore.com (not a full email address).
  4. Click Continue with this domain. SMTP2GO then shows the exact DNS records to create.

Step 3: Add the three CNAME records to your DNS

SMTP2GO asks for three CNAME records. The hostnames are unique to your account, so copy them exactly from the Verified Senders page. According to SMTP2GO, they point to:

  • DKIM: dkim.smtp2go.net
  • Return-path: return.smtp2go.net (this handles SPF)
  • Link tracking: track.smtp2go.net

SMTP2GO recommends a TTL of 14400 (4 hours). You do not need to edit your existing SPF TXT record or your MX records: SMTP2GO handles SPF and DKIM through these CNAMEs, and it only sends outbound mail, so your inbox provider stays the same. If you require an SPF hard fail (-all), SMTP2GO says to use return-alt.smtp2go.net in place of return.smtp2go.net.

There is also an automatic option. SMTP2GO’s article explains that you can click the automatically link in the banner near the top, then OK automate setup, then Automatically add these DNS records, and log in to your DNS provider through an Entri pop-up. SMTP2GO says it does not store your DNS login details.

Adding the records in Hostinger hPanel

If your domain uses Hostinger’s nameservers, Hostinger’s help center describes this path:

  1. In the Hostinger dashboard, go to Domains and click Manage next to your domain.
  2. Open DNS / Nameservers from the left sidebar and select the DNS records tab.
  3. Choose CNAME as the type.
  4. In the name field, enter only the subdomain part of the hostname SMTP2GO gave you (Hostinger appends your domain automatically).
  5. In the target field, enter the SMTP2GO value, such as dkim.smtp2go.net.
  6. Leave the TTL at 14400 and click Add Record. Repeat for the other two records.

Hostinger notes that DNS changes can take up to 24 hours to propagate fully, although they are often faster. If you also need a fast, secure base for your store, our guide to speeding up and securing WordPress on Hostinger covers the hosting side.

Step 4: Confirm the domain shows as Verified

Back in SMTP2GO, the domain’s Status on the Verified Senders page should change to Verified once DNS has updated. SMTP2GO’s article also says to click the blue Verify button after adding the tracking record, which requests a Let’s Encrypt SSL certificate for your tracking domain and renews it automatically.

If the domain will not verify, SMTP2GO suggests:

  • Hovering over the red or orange exclamation icon on the Verified Senders page to read the error.
  • Checking each CNAME with MxToolbox using the full hostname, to see whether DNS servers disagree.
  • Contacting your DNS host if it rejects a record containing an underscore.
  • Waiting for propagation, or contacting SMTP2GO support.

Step 5: Create an API key (or an SMTP user)

SMTP2GO offers several kinds of sending credentials: API Keys, SMTP Users (username and password) and Authenticated IPs (paid plans). The official WordPress plugin uses an API key, so that is the route we recommend for WordPress and WooCommerce.

  1. In the SMTP2GO dashboard, go to Sending > API Keys.
  2. Click Add API Key (or edit an existing key).
  3. In the key’s permissions, enable /email/send. SMTP2GO’s plugin setup guide also lists /stats/email_summary and /stats/email_cycle; the WordPress.org listing says sending is required and statistics are optional, so enabling all three is the safest choice.
  4. Copy the key somewhere safe for the next step.

If you prefer a generic SMTP plugin instead, SMTP2GO’s outbound settings article says your username and password are on the Sending > SMTP Users page, the server is mail.smtp2go.com, and port 2525 or 587 (TLS) and 465 (SSL) are among the supported ports. SMTP2GO recommends copying and pasting credentials, since a typo produces a “535 incorrect authentication data” error.

Step 6: Install the official SMTP2GO WordPress plugin

The plugin is listed on WordPress.org as “SMTP2GO for WordPress” (Email Made Easy) and, according to its listing, replaces the default wp_mail() mailer so mail goes through SMTP2GO’s API. SMTP2GO’s setup guide describes the install:

  1. In WordPress admin, go to Plugins > Add New.
  2. In the Search Plugins field, search for “smtp2go”.
  3. Click Install Now on the SMTP2GO result, then activate it.
SMTP2GO for WordPress Email Made Easy plugin listing on WordPress.org
The official SMTP2GO plugin listing in the WordPress.org plugin directory (screenshot of wordpress.org/plugins/smtp2go).

Step 7: Configure the plugin settings

  1. Go to Settings > SMTP2GO.
  2. Tick the checkbox that enables sending through SMTP2GO (SMTP2GO’s guide labels it “Send Email Using SMTP2GO”).
  3. Paste your API Key.
  4. Enter your From Email Address. Its domain must be the one you verified under Sender Domains.
  5. Enter your From Name, such as your store name.
  6. Optionally add Custom Headers at the bottom of the page, then click Save Settings.

The WordPress.org listing notes that these default sender details apply only when another plugin does not set its own sender. WooCommerce does set its own, so check it too: WooCommerce’s documentation places the sender fields under WooCommerce > Settings > Emails, below the list of notifications, labelled “From” name and “From” address. Set the “From” address to an address on your verified domain. WooCommerce itself recommends using an address on your site’s domain to help delivery.

SMTP2GO official WordPress plugin setup guide
SMTP2GO’s official WordPress plugin setup guide (screenshot of smtp2go.com/setupguide/official-wordpress-plugin-setup-guide).

Step 8: Send a test email

  1. In the plugin settings, click the Test tab.
  2. Enter recipient details and click Send Test Email.
  3. A “Success!” notification confirms the configuration works.

Send the test to a Gmail or Outlook address you control, not just your own domain’s inbox, so you can see how a typical customer’s mailbox treats it. Then place a real test order in WooCommerce (a free product or a 100% coupon works) to confirm order emails flow through too.

Step 9: Check SMTP2GO activity and reports

SMTP2GO’s troubleshooting article explains how to follow a single email:

  1. Go to Reports > Activity and locate the email.
  2. Click the recipient’s email address.
  3. Open the Timeline tab in the pop-up to see delivery events.

Statuses you may see include Processed, Soft Bounce, Hard Bounce, Rejected, Spam and Unsubscribed. Hard-bounced, spam-flagged and unsubscribed addresses are blocked from future sends, and SMTP2GO says you can unblock them under Reports > Suppressions once the issue is fixed. Note the retention window: activity history is kept for 5 days on free plans and 30 days on paid plans.

This is one of the biggest practical wins over PHP mail. When a customer says “I never got my receipt”, you can check whether it was delivered, bounced or blocked instead of guessing.

Step 10: Add a DMARC record

SMTP2GO’s DMARC article is clear that DMARC is not configured inside SMTP2GO. You add it yourself as a TXT record in your DNS, with the host name _dmarc. SMTP2GO recommends starting in monitoring mode with a record like this:

v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com;

With p=none, receiving servers check authentication and send reports to the rua address but do not act on failures. SMTP2GO’s suggested rollout is:

  1. Start with p=none and monitor the reports.
  2. Fix any legitimate senders that fail SPF or DKIM (your newsletter tool, help desk or invoicing app may also send as your domain).
  3. Move to p=quarantine.
  4. Work toward p=reject once you understand all your email traffic.

SMTP2GO warns against jumping straight to quarantine or reject, because it can block legitimate mail from services you forgot about. Aggregate reports arrive as XML, so SMTP2GO suggests a third-party DMARC reporting service to read them. In Hostinger hPanel, you add the record from the same DNS records tab: choose TXT, enter _dmarc as the name, paste the value and click Add Record. Before adding one, check whether a _dmarc record already exists, since a domain should only have one.

SMTP2GO blog article explaining what DMARC is and how to roll it out
SMTP2GO’s DMARC explainer on setup and rollout (screenshot of smtp2go.com/blog/what-is-dmarc).

SMTP2GO pricing (Pricing as of October 2026)

Here is what SMTP2GO’s pricing page shows in US dollars. Annual billing gives “2 months free”, and the page mentions a 30-day full refund promise.

PlanMonthlyAnnualEmails per monthNotable extras
Free$0n/a1,000No credit card required; live chat and phone support limited to the first 14 days
Starter$10$10010,000Extra emails $1 per thousand; 30 days of reporting; subaccounts; SMS
Professional$75$750100,000Extra emails $0.85 per thousand; dedicated IP; email testing tools
PremierCustomCustomOver 3,000,000Personalised setup and support for enterprise senders

According to the pricing page, every plan includes automatic DKIM/SPF, feedback loops, blacklist monitoring, real-time analytics, bounce and spam tracking, and TLS/SSL. The free plan allows up to 5 verified senders (domains and single sender emails combined), while paid plans have no limit, according to SMTP2GO’s support article. The page shows a volume slider and AUD, NZD, EUR and GBP options, and states that all invoices are billed in US dollars, so check the SMTP2GO pricing page for current rates in your currency.

SMTP2GO pricing page showing Free, Starter, Professional and Premier plans
SMTP2GO’s pricing page with its plan tiers (screenshot of smtp2go.com/pricing).

How much do you need? A rough rule for a WooCommerce shop: count emails per order (customer confirmation, admin notification, shipping or completed notice) and add password resets and form notifications. A store handling a few hundred orders a month will often fit within the free 1,000, while busier shops will want Starter. Remember that the free plan’s 5-day activity history is short if you handle customer questions about older orders.

Pros and cons of using SMTP2GO for WordPress

Pros

  • Official WordPress plugin that replaces wp_mail(), so WooCommerce, forms and system emails are all covered by one setup.
  • SPF and DKIM handled through three CNAME records, with no need to edit your existing SPF TXT record.
  • Optional automatic DNS setup via Entri for supported providers.
  • Activity timeline per email, plus bounce, spam and suppression reports.
  • A permanent free plan with 1,000 emails per month.

Cons

  • Signup requires a work email on your own domain, not Gmail or Yahoo.
  • Free plan activity history lasts only 5 days, and live chat and phone support are limited to 14 days.
  • You need DNS access; without it you are limited to single sender emails, which SMTP2GO says do not align with SPF and DKIM.
  • The plugin listing says Windows/IIS servers are not recommended or supported.
  • DMARC is still a separate DNS task you must manage yourself.

Who this fix is for (and who it is not for)

A good fit if you: run a WooCommerce store, membership site, booking site or contact-form-heavy business site; send from an address on your own domain; and want proof of delivery when customers say an email never arrived.

Probably not the right fit if you: cannot change your domain’s DNS at all, only send a handful of emails a month and never have delivery complaints, or run WordPress on a Windows server. Also note that SMTP2GO handles outbound mail only; it does not replace your inbox provider, so you still need regular mailbox hosting to receive replies.

Common mistakes that keep WooCommerce emails in spam

  • Mismatched From address. If WooCommerce’s “From” address uses a different domain from the one you verified, alignment breaks. Keep them on the same domain.
  • Two mail plugins fighting. If you already have another SMTP plugin active, deactivate it so only one replaces wp_mail().
  • Records added at the wrong provider. Hostinger’s docs point out that if your nameservers point elsewhere, edits in hPanel have no effect.
  • Full hostname in the name field. Many DNS panels, including Hostinger’s, append your domain automatically, so pasting the full hostname can create em.yourstore.com.yourstore.com.
  • Jumping to p=reject. As SMTP2GO warns, a strict DMARC policy before you know every sending service can block your own invoices or newsletters.
  • Ignoring content and list hygiene. SMTP2GO’s spam guide also lists poor reputation, outdated lists and link patterns like URL shorteners as causes. Authentication fixes the biggest problem, not every problem.

Keep your store operations organised in Notion

Fixing email delivery is one item on a long store checklist: DNS records, plugin settings, supplier contacts, order issues and customer follow-ups. If you like to keep that kind of operational detail in one place, our Notion templates are built for it.

  • Dropshipping Business HQ helps online sellers track products, suppliers, orders and store tasks, a natural home for notes like “SMTP2GO domain verified” and “DMARC moved to quarantine”.
  • Retail Store HQ suits shops that sell online and in person and want inventory, customers and operations in one workspace.

Both run in Notion, so you can duplicate a template into your workspace and adapt it to how your store runs.

FAQ

Why are my WordPress emails going to spam?

By default, WordPress sends mail with wp_mail() through your server’s PHP mail function. As Hostinger’s documentation explains, PHP mail often lacks proper authentication and skips SPF, DKIM and DMARC checks, so inbox providers are more likely to filter it. Sending through an authenticated service like SMTP2GO with a verified domain addresses the root cause.

Does SMTP2GO work with WooCommerce?

Yes. SMTP2GO’s WooCommerce guide says its plugin replaces standard WordPress email handling, so WooCommerce emails go through your SMTP2GO account. Make sure WooCommerce’s “From” address under WooCommerce > Settings > Emails uses your verified domain.

Do I need to change my SPF record for SMTP2GO?

According to SMTP2GO’s Verified Senders article, no SPF record update is needed. SPF and DKIM are handled through the CNAME records you add when verifying your sender domain. The exception is if you need an SPF hard fail, in which case SMTP2GO says to use return-alt.smtp2go.net for the return-path record.

Is SMTP2GO free for WordPress?

The WordPress plugin is free, and SMTP2GO’s free plan covers 1,000 emails per month with no credit card required, as of October 2026. Paid plans start at $10 per month for 10,000 emails. Check the pricing page for current rates.

Should I use the API key or SMTP user option?

The official SMTP2GO WordPress plugin uses an API key created under Sending > API Keys, so that is the simplest route. SMTP users (found under Sending > SMTP Users) are useful if you prefer a generic SMTP plugin or need to connect other software that only supports SMTP.

How long does sender domain verification take?

It depends on DNS propagation. Hostinger says changes can take up to 24 hours to propagate fully. Once the records resolve, the domain’s Status in SMTP2GO changes to Verified. If it does not, SMTP2GO suggests checking each CNAME with MxToolbox and reading the error on the exclamation icon.

Does SMTP2GO set up DMARC for me?

No. SMTP2GO’s DMARC article says DMARC is not configured in the SMTP2GO platform. You add a TXT record named _dmarc in your DNS, ideally starting with p=none and an rua reporting address, then tighten the policy gradually.

Conclusion

If your WordPress emails are going to spam, the cause is almost always authentication, not your wording. Moving your site’s mail to SMTP2GO, verifying your domain with three CNAME records, setting matching From addresses in the plugin and WooCommerce, and adding a DMARC record gives inbox providers the proof they look for. You also gain a delivery log, so “I never got my email” becomes something you can check in a minute.

Ready-made templates for this

Notion systems, spreadsheets and planners with a setup guide. Instant download.

Browse templates
Keep reading

More guides

All guides →
Free starter kit

Get 5 free Notion templates

The free starter kit with a setup guide, plus a useful template tip each week. Unsubscribe anytime.

Get the free kit