=== Does My Email Work ===
Contributors: valentinbora
Tags: deliverability, dkim, dmarc, spf, email
Requires at least: 6.1
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.0.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Find out if emails from your WordPress site actually reach people's inboxes, or if they're landing in spam.

== Description ==

Are your contact form emails disappearing? Customers not getting order confirmations? Password reset emails never arriving?

This plugin helps you find out why. It checks whether your domain is set up correctly for email, and then goes a step further: it sends a real test email from your site and tells you exactly what inbox providers like Gmail and Outlook see when your email arrives.

Most email tools only check if your domain records exist. This one shows you whether they actually work with your current setup.

= What you'll learn =

**Is your domain set up for email?**

* Can inbox providers verify your emails are real (SPF)
* Do your emails carry a digital signature (DKIM)
* Are fake emails pretending to be you getting blocked (DMARC)
* Can your domain receive email (MX records)
* Which email service your domain uses

**Do your emails actually pass security checks?**

Send a real test email from your site and see what happens when it arrives:

* Does it pass the sender verification check
* Is the digital signature valid
* Does it pass the anti-spoofing check
* Does the sender address match your domain
* Which service actually delivered the email (Google, SendGrid, Amazon SES, and others)

= More features =

* **Works with any email setup** - whether you use an SMTP plugin (WP Mail SMTP, Post SMTP, FluentSMTP, etc.) or your host's built-in email, this plugin tests whatever your site actually uses to send mail
* **Site Health integration** - email checks appear on your WordPress Site Health screen alongside your other site diagnostics
* **Weekly monitoring** - get an email notification if your domain's email records change unexpectedly
* **Email report** - send yourself a summary of the results to share with your developer or hosting provider
* **Score out of 10** - a simple score that tells you how your email setup compares to best practices

= How it works =

1. Activate the plugin and go to Tools > Does My Email Work
2. The plugin checks your domain's public email records (the same records Gmail and Outlook already see when you send email)
3. Optionally, send a test email to see if it passes all the security checks that inbox providers look for
4. Get a clear report of what's working and what needs attention

= External Services =

This plugin connects to the following external services to perform its diagnostic functions:

**doesmyemail.work API**
Used to look up your domain's public email records and process test email results. For the record lookup, the plugin sends your site's domain name to this service. Email reports are generated and sent locally by the plugin - no email addresses are transmitted to this service.

When you choose to run a deep check, your site sends a test email to a unique address at doesmyemail.work, and also sends the public DNS records (SPF, DKIM, DMARC, and MX) the plugin already collected for your own domain, so the service can correlate them with the received email. The email's routing and authentication metadata (From address, Return-Path, sending IP, detected mail service, SPF/DKIM/DMARC results, DKIM key strength, and sending-IP blacklist status) is analyzed and stored for up to 1 hour, then automatically deleted. No email body content is stored or read.

* Service operated by Mach10 (mach10.pro)
* [Terms of Use](https://doesmyemail.work/terms/)
* [Privacy Policy](https://doesmyemail.work/privacy/)

**Cloudflare DNS (used by the doesmyemail.work service)**
The DNS record lookups happen on the doesmyemail.work servers, which use Cloudflare's public resolver (1.1.1.1) to query your domain's SPF, DKIM, DMARC, and MX records. Your WordPress site does not contact Cloudflare directly; it only connects to doesmyemail.work. No personal data beyond your domain name is involved.

* [Cloudflare Privacy Policy](https://www.cloudflare.com/privacypolicy/)
* [1.1.1.1 resolver commitment](https://developers.cloudflare.com/1.1.1.1/privacy/public-dns-resolver/)

== Installation ==

1. Upload the `does-my-email-work` folder to `/wp-content/plugins/`
2. Activate the plugin through the Plugins menu
3. Go to Tools > Does My Email Work to run your first check

== Frequently Asked Questions ==

= My emails are going to spam. Will this plugin fix that? =

This plugin diagnoses the problem and tells you exactly what's wrong with your email setup so you (or your developer) know what to fix. Common causes include missing SPF or DMARC records, which your hosting provider can usually add for you.

= Do I need to install an SMTP plugin too? =

No, but it helps. This plugin tests whatever email setup you currently have. If you're using your host's built-in PHP mail (which some hosts don't configure properly), the plugin will tell you, and you may want to add an SMTP plugin like WP Mail SMTP to improve deliverability.

= Does this plugin work with WP Mail SMTP / Post SMTP / FluentSMTP? =

Yes. The test email is sent through whatever email system your site uses. If you have an SMTP plugin installed, the plugin detects it and shows it in the results.

= What data is sent to external servers? =

For the DNS check, only your domain name is sent. If you choose to run the deep check, your site also sends a test email plus the public DNS records it already collected for your domain (SPF, DKIM, DMARC, MX) to our diagnostic server, which analyzes the email's routing and authentication metadata. Email reports are generated and sent locally by your WordPress installation, no email addresses leave your server.

= Does the plugin store any data? =

Scan results are stored locally on your site so the plugin does not repeat lookups on every page load, and are replaced each time you run a new check. Test email data is stored on our diagnostic server (doesmyemail.work) for up to 1 hour, then automatically deleted. The weekly monitoring feature stores the previous check results locally for comparison. All of the plugin's data on your site is removed when you uninstall the plugin.

= Why does the deep check time out? =

This usually means your hosting provider blocks outbound email or your email setup needs attention. The plugin will show which email system your site uses to help you diagnose the issue.

== Screenshots ==

1. Your email setup scored out of 10, with plain-language fixes for anything that needs attention
2. Every passing check explained in plain English - sender authorization, digital signature, anti-spoofing, and domain alignment
3. Send a real test email, email yourself the report, and turn on weekly monitoring to catch changes

== Changelog ==

= 1.0.1 =
* Store scan and test results in a persistent option instead of a transient, so Site Health and saved results survive object-cache clears.
* Switched the DNS scan call to the canonical /v1/dns-scan/{domain} path endpoint (away from the deprecated unversioned alias).

= 1.0.0 =
* Initial release
