ZeroSMTP

August 30, 2026 · View on GitHub

ZeroSMTP — a free SMTP relay that still accepts basic auth. mx.msgwing.com, port 587 STARTTLS or 465 SSL/TLS.

ZeroSMTP — a free SMTP relay that still accepts basic auth

Your printer, scanner or app stopped sending email through Microsoft 365? You're most likely hitting the Basic authentication shutdown. This site explains what happened, lists every way to fix it, and documents one free option among them.

535 5.7.139 Authentication unsuccessful, basic authentication is disabled

If that's the error you're seeing, start with Exchange Online SMTP AUTH migration.

Basic authentication for SMTP AUTH is disabled by default on existing Microsoft 365 tenants at the end of December 2026.


Connection settings

Three values, straight into the SMTP fields your device or app already has. No SDK, no API key, no DNS records.

SettingValue
Servermx.msgwing.com
Port587 (STARTTLS) — try this first
Port465 (SSL/TLS) — if the device insists
AuthenticationPlain username and password, from your account

Get free credentials — free, no card. 200 messages a day, sent from a generated @msgwing.com address rather than your own domain. If the From address has to be your own domain, this is the wrong tool and the alternatives page says which one is right.


Start here

Service & printers

A printer or scanner stopped emailing

Scan-to-email died, the panel shows an authentication error, or the device refuses the certificate.

Systems administration

You run the servers this breaks

Find out what else in the environment sends mail with a password before December finds it for you.

Development

Your code or app cannot send

The library printed a summary of the error rather than the error. Start from the string you actually have.

Evaluation

You are deciding whether to trust this

Free, and that always deserves the question. Where the data goes, what the limits are, and when something else is the better answer.

Everything else is in the table further down — these three cover most of it.

If you have an error in front of you right now, skip the table:

npx zerosmtp-check --explain "535 5.7.139 Authentication unsuccessful"

Paste whatever your client printed. A Postfix SASL line, a Python traceback, 1102 off a Kyocera panel, or curl: (67) Login denied — which shows none of the server's answer at all. Seventeen error strings are covered, and each one says whether the cause can still be turned back on before the end of December 2026, because three of the four still can.

If mail is hanging rather than being refused, run it with no arguments: it checks ports 25, 587 and 465 from the machine that is actually failing, which is the only place the answer means anything. Nothing to install, no credentials, no mail sent.

If you…Go to
Got an authentication error from smtp.office365.comExchange Online SMTP AUTH migration
Need to know what else in your environment will breakWhat breaks: affected systems
Have a printer or MFP to reconfigurePrinter scan-to-email setup by brand
Have an HP printer saying "SMTP server requires authentication"What that means and how to fix it
Have a printer that will not trust the server's certificateWhy, and when turning it off is right
Just want a home printer to email a scan, and Gmail or Hotmail stopped workingScan to email from a home printer
Manage Windows Server / IIS / ExchangeWindows Server guide
Have an app that can only "deliver to local SMTP server"IIS SMTP relay and Microsoft 365
Manage Linux serversLinux · system-wide relay
Want to look up one device or productOAuth compatibility list
Have a printer whose vendor says no OAuth firmware is comingDevices that will never get OAuth firmware
Are sending from an app or script21 code examples across 19 languages
Are deploying to Cloudflare Workers, Vercel, Netlify or AWS LambdaCan I send SMTP from a serverless platform?
Want to know how big this actually isHow much public code breaks in December 2026 — measured weekly
Need a citable summary for an article or reportState of the Basic auth shutdown, Q3 2026
Deploy with Ansible or Docker ComposeDeployment recipes
Have an error message to look up535 5.7.139 and other SMTP AUTH errors
Have it failing or timing outTroubleshooting
Have monitoring/alerting tools that need to send mailMonitoring alerts
Want to see confirmed fixes for specific hardwareDevice case studies
Are comparing free SMTP relaysZeroSMTP vs. other free relays
Just want the short answersFAQ

What is happening

Microsoft is retiring Basic authentication (username + password) for SMTP AUTH in Exchange Online. Per Microsoft's updated timeline, it is disabled by default on existing tenants at the end of December 2026, unavailable by default for tenants created after that, with final removal announced in the second half of 2027.

Devices that can run OAuth 2.0 can be updated. Older printers, scanners, NAS units and line-of-business software generally cannot — and for many of them no firmware update will ever exist.

What ZeroSMTP is

A free SMTP relay at mx.msgwing.com that still accepts a plain username and password over TLS. For a device with no OAuth path, migrating means changing three fields:

SettingFromTo
Serversmtp.office365.commx.msgwing.com
Port587587 (STARTTLS) or 465 (SSL/TLS)
CredentialsMicrosoft 365 accountfree @msgwing.com account

The trade-off, stated plainly: mail is sent from an @msgwing.com address, not your own domain (why), and there is a 200 emails/day limit.

In exchange, there's no DNS work: most free relays require verifying your own domain (SPF/DKIM records, propagation, sender reputation to manage yourself) before they'll send normally. ZeroSMTP skips that entirely.

Setup path: a typical free relay takes five steps including DNS configuration (SPF, DKIM, DMARC, propagation, verification); ZeroSMTP takes three steps with no DNS work

Full breakdown: ZeroSMTP vs. other free SMTP relays.

That makes it a good fit for scan-to-email, device and backup alerts, monitoring notifications, homelabs, schools and small offices — anywhere the message just needs to arrive. It is not the right answer for customer-facing mail or anything that must come from your company domain. The migration guide covers the options that are, including Microsoft's own.

Get started

  1. Register a free account at msgwing.com.
  2. Copy the generated @msgwing.com username and password.
  3. Point your device or app at mx.msgwing.com on port 587 with STARTTLS.

Full quickstart, 15 language examples and setup guides are in the GitHub repository.


Service status is checked automatically every 15 minutes — see the live check. Questions or corrections: open an issue, or browse existing questions in Discussions.