Skip to content
0

email-notifications

  1. product mappings & auto-push to FBA for virtual bundles
  2. triggering events for email notifications upon new order placement, still no Email Log for test emails
  3. email deliverability (Multiple tests indicate that some mails evaporate from SMTP server to recipients, therefore a major change to Google/Gmail as the outgoing mailer. Test emails to alowree@hotmail.com end up in the "Junk Email" folder)
CASE 2: Missing email notifications

Order #4760 placed on Apr 27, 2026

Sound Spot II (SFQ-18BLK), 2 units

Email Log on Woo

  1. email notification to the customer [Confirm sent]
  2. email notification to amazon@soundfreaq.com [Confirm sent]

This is exactly the same failure pattern that we saw with order #4736 on March 09, missing the email notifications.

We tested with manual order #12345 on March 12 and it worked. I have no clue why this is happening again. Maybe I should reach out to the technical support at SiteGround to seek their opinions.

Auto push to FBA [Fail]

I've manually create a shipping order with Amazon FBA and the package is scheduled to arrive on May 1, 2026, Friday. A tracking number shall become available within the next 24 hours. The debugging for auto-push, I will handle it in the coming days.

WooCommerce → Settings → Emails

Email notifications

Email notifications sent from WooCommerce are listed below. Click on an email to configure it. To ensure your store’s notifications arrive in your and your customers’ inboxes, we recommend connecting your email address to your domain and setting up a dedicated SMTP server. If something doesn’t seem to be sending correctly, install the WP Mail Logging Plugin or check the Email FAQ page.

Email Log

WP Mail SMTP

  • From Name: Soundfreaq Website
  • Force From Email: ON
  • From Email: steven@soundfreaq.com
  • Force From Name: ON
  • Return Path: ON
  • Mailer: Default (none)

Email troubleshootingEmail and SMTP providers

2026-03-12

Test email to alowree@twineintl.com success (it is in email log and received) auto email to amazon@soundfreaq.com success (it is in email log and received)

2026-04-29

Test email to alowree@beautiful.com.hk success (it is received) auto email to amazon@soundfreaq.com fail (not in email log)

Test email to holly@twineintl.com success (it is received) auto email to amazon@soundfreaq.com fail (not in email log)

Test email to alowree@hotmail.com success (it is in email log) Test email to alowree@hotmail.com fail (it is not received) auto email to amazon@soundfreaq.com,mchui@twineintl.com fail (not in email log and not received)

2026-04-30

New order → Send a test email

Test email to alowree@beautiful.com.hk success (it is in email log and received) auto email to amazon@soundfreaq.com fail (it is not in email log and not received)

This is a classic "WordPress PHPMailer" ghost hunt. Based on the logs you provided, there is a clear discrepancy between your WooCommerce settings and your WP Mail SMTP configuration, which is likely causing your emails to be flagged as spam or dropped entirely by the server.

Here is the breakdown of why this is happening and how to fix it.


1. The "Smoking Gun": The Mailer Conflict

Your WP Mail SMTP settings show:

The Problem: By selecting "Default (none)," you are telling WordPress to use the internal PHP mail() function on your SiteGround server. Because "Force From Email" is ON, the server is trying to "spoof" an email from steven@soundfreaq.com using a generic web server process.

Modern email providers (Gmail, Outlook, and corporate filters like twineintl.com) strictly block this via DMARC/SPF policies. If your server isn't explicitly authorized to send as steven@soundfreaq.com, the email is deleted before it even hits the "Junk" folder.


2. Why it works "Sometimes"

You noticed that manual tests work while auto-notifications fail. This usually happens for two reasons:

  • Recipient Sensitivity: hotmail.com and corporate domains (twineintl.com) have much stricter security filters than others.
  • The "From" Address Mismatch: Your WooCommerce settings use store@soundfreaq.com, but your SMTP plugin forces it to steven@soundfreaq.com. This inconsistency is a major red flag for spam filters.

Step A: Switch to a Dedicated SMTP Provider

Stop using the "Default (none)" mailer. SiteGround's local mail server is not designed for high-reliability transactional emails.

  1. Go to WP Mail SMTP → Settings.
  2. Change the Mailer to a dedicated service. Since our @soundfreaq.com email services are hosted on Google, select the Google / Gmail.

Step B: Align Your "From" Addresses

Ensure your identity is consistent across the site:

  • WooCommerce Settings: Set "From Address" to steven@soundfreaq.com.
  • WP Mail SMTP: Set "From Email" to steven@soundfreaq.com.
  • Consistency: These must match the account you use to authenticate the SMTP service.

Step C: Check SPF/DKIM Records

Since you mentioned SiteGround, log into your SiteGround Site Tools:

  1. Go to Email → DNS Zone Editor.
  2. Ensure you have an SPF record that includes your website's IP and your email provider (e.g., v=spf1 include:_spf.google.com include:siteground.com ~all).
  3. Without this, your emails are effectively "unsigned" and suspicious.

How to configure SPF, DKIM and DMARC records?

To secure your e-mail service and make sure that you won’t have issues with e-mail spoofing, you need to set SPF, DKIM and DMARC records for your domain.

  • SPF – An SPF record is enabled by default for your domain name in our DNS zone. You can modify it if needed from Site Tools > Email > Authentication. Use the Reset to default button to revert any custom changes made to the record.
  • DKIM – By default DKIM should be enabled. To disable DKIM for your domain, go to Site Tools > Email > Authentication > DKIM > Deactivate. To regenerate the DKIM record you can Deactivate and then Activate it again.
  • DMARC – this is a TXT record that practically tells the receiver to send an email to a particular e-mail address if he gets spam emails from a certain domain. The record is created for all websites by default when creating the website. To find and edit the record, go to Site Tools > Domain > DNS Zone Editor, and look for the TXT record that starts with “v=DMARC1” and click the pencil icon next to it.

You can use custom SPF, DKIM and DMARC values for your domains. You can add the records using the DNS Zone Editor in Site Tools.


4. The FBA "Auto-Push" Failure

The fact that the FBA push also failed suggests a WP-Cron issue or a PHP execution timeout.

  • WooCommerce triggers the "New Order" email and the "FBA Push" at the same time using a background hook.
  • If the mailer hangs (trying to send to those 3-4 recipients), the script might timeout before it can trigger the FBA API call.

Quick Fix: Install the WP Crontrol plugin to see if there are backed-up events or "hook" errors specifically related to the FBA integration.


Summary Checklist

TaskAction
ImmediateChange WP Mail SMTP Mailer from "Default" to an API-based provider (Gmail/SendGrid).
ConsistencyMake sure WooCommerce "From" and SMTP "From" are identical.
DeliverabilityAdd your site IP to your domain's SPF record.
FBA DebugCheck WooCommerce > Status > Logs and look for "fatal-errors" or "amazon-fba" logs.

Does the email log show the emails as "Sent" but they simply don't arrive, or do they fail to appear in the WP Mail Logging plugin entirely?

I did the following test: For existing orders like #4760, you can force the email to send:

Open Order #4760 in WooCommerce. On the right-hand side, look for the Order Actions box. Select "New Order" from the dropdown and click the arrow/button to resend. This record does appear in my Email Log and but never show up in my inbox.

That result narrows the problem down perfectly. We are now dealing with two separate issues that joined forces to break your workflow:

  1. The Trigger Issue: (Solved) The "Failed to FBA" status was preventing the email from being created. Now that you've forced it, we know the "New Order" email is being generated and handed off to the system.
  2. The Deliverability Issue: (Active) The record shows up in your Email Log, which means WordPress successfully sent it to your server's mail handler, but it is being "vaporized" between your server and your inbox.

Why the forced email isn't arriving

Since you applied Step B (matching the "From" address to steven@soundfreaq.com) but are still using the Default (PHP) Mailer, you are almost certainly failing a DMARC/SPF check.

  • The "Spoofing" Flag: Your website is telling the world: "Hi, I'm a SiteGround server, and I'm sending an email on behalf of steven@soundfreaq.com."
  • The Recipient's Response: The twineintl.com and soundfreaq.com mail servers (likely Google or Microsoft) check the security records for soundfreaq.com. Since your SiteGround server isn't on the "approved" list, the email is rejected.
  • Why you don't see a bounce-back: Because it's a "silent discard" at the gateway level—it doesn't even make it to your Spam folder.

How to solve this (The 2-Step Fix)

1. Implement Step A (Crucial)

You must move away from the "Default" mailer.

  • In WP Mail SMTP, switch the Mailer to Google/Gmail (if your email is hosted there) or SendGrid.
  • This uses an API to send the email. This means the email is sent directly through a real email server, not "spoofed" by a website script. This is the only way to guarantee delivery to corporate domains like @twineintl.com.

2. Check your "New Order" Recipient List

Look closely at the Email Log record for that forced "New Order" email.

  • Does it show the recipient as amazon@soundfreaq.com?
  • Check if there are any other BCC recipients hidden in WooCommerce → Settings → Emails.

A Note on SiteGround

SiteGround's local mail servers are notoriously strict with "From" addresses. If you are forcing steven@soundfreaq.com but your SiteGround account is technically under a different domain or setup, their own internal filters might be blocking the outgoing mail before it even leaves their network.

  1. In WP Mail SMTP, run the Email Test (the built-in tool).
  2. Send it to a personal Gmail or Yahoo address (these sometimes give more descriptive error headers than corporate filters).
  3. Check the Full Debug Log that WP Mail SMTP provides after the test. It will likely show a "550" or "Unauthenticated" error.

Is your @soundfreaq.com email hosted on Google Workspace? If so, I can walk you through the 5-minute setup to link it properly. WP Mail SMTP Documentation - Google Workspace / Gmail


New order New order emails are sent to chosen recipient(s) when a new order is received.

Enable/Disable Enable/Disable Enable this email notification Recipient(s) Recipient(s) amazon@soundfreaq.com Subject Subject [{site_title}]: New order #{order_number} Email heading Email heading New Order: #{order_number} Additional content Additional content Congratulations on the sale. Email type Email type HTML Email preview Preview your email template. You can also test on different devices and send yourself a test email.

Desktop icon Mobile icon Send a test email [Soundfreaq - Award Winning Speakers - Sound Crafted by Music Lovers]: New order #12345 Avatar icon Soundfreaq Website alowree@soundfreaq.com

Help us improve HTML template View template Copy file to theme To override and edit this email template copy woocommerce/templates/emails/admin-new-order.php to your theme folder: goya-child/woocommerce/emails/admin-new-order.php.

Save changes


The warning about outdated templates in your Goya Child Theme is a very likely culprit for why the "Send a test email" button is failing, even though your SMTP settings are correct.

When a theme has outdated WooCommerce templates, it means the theme is using an old "map" to try and talk to the new version of WooCommerce. If the code for the "New Order" email trigger has changed in the core plugin, your theme might still be using the old trigger, which results in a silent failure—no email is generated, so nothing appears in the log.

1. The Outdated Template Factor

The "affected template" listed in your warning is almost certainly: goya-child/woocommerce/emails/admin-new-order.php

Because this is a Child Theme, someone manually copied that file there to customize it (perhaps to change the layout or add a logo). WooCommerce has since updated the core version of that file, but your child theme version is "frozen" in time. If that file is missing a newer, required PHP hook, the "Send test email" button will click but do nothing.

The Fix:

  1. Using FTP or your SiteGround File Manager, go to that folder path.
  2. Rename the file to admin-new-order.php.old.
  3. Go back to WooCommerce and try the "Send test email" button again.
  4. If it works, you know the customization in that file was blocking the trigger. You will then need to copy the fresh version from the WooCommerce plugin and re-apply your custom changes.

2. A Crucial Difference: "Test Email" vs. "Real Order"

There is a known quirk in WooCommerce: The "Send a test email" button in the settings often ignores the "Recipients" field and sends only to the Site Admin Email (General Settings).

To truly test if amazon@soundfreaq.com is working:

  1. Go to an existing order (like #4760).
  2. On the right side, under Order Actions, select "Resend New Order notification".
  3. Click the Update/Play button.
  4. Check your Email Log immediately. If it shows up there addressed to amazon@soundfreaq.com, the trigger is healthy; the "Test" button was just being misleading.

3. "Failed to FBA" vs. New Order Trigger

We must address the fact that "Failed to FBA" is not a status that WooCommerce recognizes as a "New Order."

  • WooCommerce triggers the admin email only when an order is "Processing."
  • Because your FBA plugin changes the status to "Failed to FBA" immediately upon failure, the "Processing" trigger is skipped entirely.

Recommendation: If you want an email every time an order fails to push to FBA, you cannot rely on the default WooCommerce "New Order" email. You should look into a plugin like "Status Manager" or add a small snippet to your functions.php to trigger a custom alert when the status changes to "Failed to FBA."

Summary Checklist:

  • Rename the outdated .php file in your child theme to see if the "Test" button starts working.
  • Verify your "New Order" recipient doesn't have any hidden spaces or weird characters.
  • Resend a real order notification from the Order Actions menu to verify the Google SMTP connection for that specific recipient.

If you rename the template file and the test email still doesn't send, the issue is likely a conflict with the WPClever "Smart Bundle" plugin not knowing how to handle the order data for the email template.


View affected templates

Templates

Overrides:

wp-content/themes/goya/woocommerce/archive-product.php Version 3.4.0 is out of date. The core version is 8.6.0 wp-content/themes/goya/woocommerce/cart/cart-empty.php Version 3.5.0 is out of date. The core version is 7.0.1 wp-content/themes/goya/woocommerce/cart/cart-shipping.php Version 3.6.0 is out of date. The core version is 8.8.0 wp-content/themes/goya/woocommerce/cart/cart.php Version 3.8.0 is out of date. The core version is 10.1.0 wp-content/themes/goya/woocommerce/cart/mini-cart.php Version 5.2.0 is out of date. The core version is 10.0.0 wp-content/themes/goya/woocommerce/cart/shipping-calculator.php Version 4.0.0 is out of date. The core version is 9.7.0 wp-content/themes/goya/woocommerce/checkout/form-checkout.php Version 3.5.0 is out of date. The core version is 9.4.0 wp-content/themes/goya/woocommerce/checkout/form-coupon.php Version 3.4.4 is out of date. The core version is 9.8.0 wp-content/themes/goya/woocommerce/checkout/form-login.php Version 3.8.0 is out of date. The core version is 10.0.0 wp-content/themes/goya/woocommerce/checkout/review-order.php wp-content/themes/goya/woocommerce/content-product.php Version 3.6.0 is out of date. The core version is 9.4.0 wp-content/themes/goya/woocommerce/content-single-product.php wp-content/themes/goya/woocommerce/global/form-login.php Version 3.6.0 is out of date. The core version is 9.2.0 wp-content/themes/goya/woocommerce/global/quantity-input.php Version 4.0.0 is out of date. The core version is 10.1.0 wp-content/themes/goya/woocommerce/global/wrapper-end.php wp-content/themes/goya/woocommerce/global/wrapper-start.php wp-content/themes/goya/woocommerce/loop/add-to-cart.php Version 3.3.0 is out of date. The core version is 9.2.0 wp-content/themes/goya/woocommerce/loop/loop-start.php wp-content/themes/goya/woocommerce/loop/pagination.php Version 3.3.1 is out of date. The core version is 9.3.0 wp-content/themes/goya/woocommerce/myaccount/form-login.php Version 4.1.0 is out of date. The core version is 9.9.0 wp-content/themes/goya/woocommerce/myaccount/navigation.php Version 2.6.0 is out of date. The core version is 9.3.0 wp-content/themes/goya/woocommerce/order/form-tracking.php Version 3.6.0 is out of date. The core version is 7.0.1 wp-content/themes/goya/woocommerce/order/tracking.php Version 2.2.0 is out of date. The core version is 10.6.0 wp-content/themes/goya/woocommerce/product-searchform.php Version 3.3.0 is out of date. The core version is 7.0.1 wp-content/themes/goya/woocommerce/single-product/photoswipe.php Version 3.0.0 is out of date. The core version is 10.2.0 wp-content/plugins/woo-product-variation-gallery/templates/swiper-product-images.php wp-content/plugins/woo-product-variation-gallery/templates/product-thumbnails.php wp-content/themes/goya/woocommerce/single-product/related.php Version 3.9.0 is out of date. The core version is 10.3.0 wp-content/themes/goya/woocommerce/single-product/tabs/tabs.php Version 3.8.0 is out of date. The core version is 9.8.0 wp-content/themes/goya/woocommerce/single-product/up-sells.php Version 3.0.0 is out of date. The core version is 9.6.0 wp-content/themes/goya/woocommerce/single-product-reviews.php Version 4.3.0 is out of date. The core version is 9.7.0 wp-content/themes/goya/woocommerce/content-product_cat.php

Based on the official WooCommerce developer documentation you provided and the search results, there is no evidence of any recent change to the built-in "Send a test email" feature that would alter its behavior regarding multiple recipients.

🔍 Key Finding from Official Documentation

The Email Preview Integration documentation describes the feature as using dummy data (not real order data) for preview purposes . Critically, the documentation makes no mention of support for multiple recipients in test emails, nor does it show any hooks or filters that would allow the Recipient(s) field from the email settings to be automatically applied to test emails.

In other words: The documented behavior is that test emails go only to the manually entered Send To address.

📅 What Likely Happened Between Mar 09 and Apr 29/30

DateWhat You ExperiencedLikely Explanation
Mar 09Both recipients received the test emailYou may have manually entered both addresses (comma-separated) in the Send To popup field
Apr 29/30Only Send To recipient receivedYou entered only one address in the popup

This is the most straightforward and likely explanation. I recommend testing this hypothesis by running another test email with both addresses manually entered in the popup (e.g., alowree@beautiful.com.hk, amazon@soundfreaq.com). If both addresses receive the email and appear in your Email Log, your system is functioning normally.

⚠️ Alternative Possibility: "Email Improvements" Experimental Feature

There is an experimental WooCommerce feature called "Email improvements" that enables modern email design and live preview . According to community discussions, this feature was expected to become standard in WooCommerce 9.8 .

If you recently enabled this experimental feature (or if it was auto-enabled in an update), it could theoretically impact how email previews and test emails function. However, the official documentation still reflects the behavior described above.

To check if this applies to you:

  • Go to WooCommerce → Settings → Advanced → Features
  • Look for "Email improvements" — check if it's enabled (Alowree: Originally not enabled, but manually checked to "Enabled" 2026-05-01)
  • If enabled, try disabling it temporarily and retest

🔧 Diagnostic Steps (5 Minutes Each)

1. Quick Confirmation Test (Immediate)

  • Click "Send a test email" on the New Order email settings page
  • In the popup, enter both addresses separated by commas: alowree@beautiful.com.hk, amazon@soundfreaq.com (Alowree: the field only accepts one email address)
  • Check Email Log — both should appear

Expected outcome: Both appear → the issue was user input variation

2. Real Order Test (More Reliable Than Test Email)

Place an actual test order through your checkout (using a 100% discount coupon or a sandbox payment gateway). The Recipient(s) field is designed for real orders — test emails have always been separate functionality.

Important: Use a staging site for testing whenever possible .

Expected outcome: If both recipients receive the real order email, then only the test email feature is affected, and there is no actual problem.

3. Disable Email Improvements Feature (If Enabled)

bash
# Via WP-CLI if you have SSH access
wp option set woocommerce_feature_email_improvements_enabled no

Then retest.

📋 Summary Table: What Each Feature Actually Does

FeaturePurposeUses Recipient(s) Field?
Real Order EmailNotify configured recipients of actual orders✅ Yes
"Send a test email" ButtonPreview email appearance in your own inbox❌ No — uses only manually entered address
Email Preview (Browser)Visual preview only — does NOT sendN/A

🎯 Final Recommendation

Based on the official documentation, the behavior you observed is expected and unchanged. The most likely explanation is that on Mar 09 you manually entered both addresses in the popup, and on Apr 29/30 you did not.

To verify this conclusively:

bash
# Run this quick test now
# 1. Enter both addresses in the "Send a test email" popup
# 2. Check Email Log — both will appear

I have the feeling that I resolved #3, I'm currently struggling on #1, and plan to leave #2 to the last.

最近更新