Files
nolimit-send-dist/docs/README.md
T

69 lines
3.3 KiB
Markdown

# Nolimit Send
<!-- nlsnd:version 0.1.1 -->
Chooses how WordPress and WooCommerce send email. Pick a provider — SMTP2GO,
Brevo, Mailgun, SendGrid, Postmark, Amazon SES, Google, Microsoft — or type in
any SMTP server, and every message the site sends goes through it.
## The problem it was written for
By default WordPress hands mail to the web host's own `mail()`. That is the
mail that lands in spam, arrives from `wordpress@` a domain that has no SPF
record for the host, or is silently dropped — and a shop only finds out when a
customer writes to say the order confirmation never came.
The fix is to send through a real mail service over SMTP. The plugins that do
it are usually large, and several of them phone home or sell the upgrade on
the same screen where the password goes. This one is a single screen.
## What it does, and what it refuses to do
* **Routes everything.** It configures PHPMailer, the library behind
`wp_mail()`, so WordPress itself, WooCommerce orders and receipts, password
resets and every other plugin's mail go through the chosen server. It is
site-wide, not WooCommerce-only.
* **Presets** that fill in the host, port and encryption, with a note per
provider on what the password field really wants (Brevo wants an SMTP key,
Google an App Password).
* **A test message**, sent from the screen, that shows the server's own
answer when it fails.
* **The last failure**, kept and shown with a time, so "why did that email not
arrive" has an answer on the screen rather than in a log nobody opens.
* **A sender address and name**, replacing WordPress' default `wordpress@…` —
or, if forced, every sender.
What it refuses to do:
* **It never touches a message's own headers.** Reply-To, Cc, List-Unsubscribe
and anything a caller set are passed through exactly as they came.
* **It does not queue, throttle or retry.** A failed message is recorded, not
re-sent.
* **It cannot report bounces or complaints.** SMTP hands a message over; whether
it was delivered comes back, if at all, to the provider's dashboard. The
screen says so rather than implying a delivery report.
* **It does not do OAuth.** Google works with an App Password. Microsoft 365 is
retiring username-and-password SMTP, and the screen says that plainly on the
Microsoft preset — [the setup guide](SETUP.md#microsoft-365) has the dates.
* **It stands down** when another SMTP plugin (WP Mail SMTP, FluentSMTP, Post
SMTP, Easy WP SMTP, Brevo for WordPress) is active, and names it on the screen.
## Documentation
| File | For |
| --- | --- |
| [SETUP.md](SETUP.md) | Installing it, choosing a provider, checking it works, and what to do when mail stops. |
| [CONTRACT.md](CONTRACT.md) | For developers: every hook, option, capability and constant — and what is deliberately absent. |
## Good to know
* **No telemetry**, no account, no upsell. Nothing is sent anywhere except the
mail itself, to the server you named, and the update check against the
public release page, which carries no credential.
* **Updates** come from that release page rather than wordpress.org, and appear
in **Dashboard → Updates** like any other plugin's.
* The SMTP password is stored as typed in one option row, because WordPress has
nowhere better to keep it. It is never printed back into the form, and it is
removed when the plugin is deleted.
* The strings are English only.