Paperless-ngx email and the Microsoft 365 Basic auth shutdown
Paperless-ngx is a self-hosted document archive that scans, indexes and stores paperwork for a household or a small office. It sends:
- password resets and account mail for the people who use it
- notifications about documents shared by link
None of that is noisy, and none of it is noticed when it stops. Mail that is never sent leaves no error on any screen anybody looks at.
What changes at the end of December 2026
If these messages go out through Microsoft 365 with a username and a password, Exchange Online stops accepting that by default. Not throttles — refuses. An administrator can switch it back on, which buys time rather than solving it: Microsoft announces the final removal date in the second half of 2027, and tenants created after December 2026 do not get the option at all.
Which of the four you are looking at is decided by the exact string the server sends back.
Why this application fits a free relay
Paperless mostly reads mail rather than sending it - its headline feature is pulling documents out of a mailbox. The outgoing side is small and internal: resets and share notices, to people who already have an account on your server.
That is the honest test, and it is worth applying before the settings: mail leaves from a generated @msgwing.com address rather than your own domain, and the cap is 200 messages a day. For an invoice or a shop receipt that is disqualifying. For Paperless-ngx it usually is not.
Settings
Environment variables, usually in docker-compose.env beside the compose file.
| Setting | Value |
|---|---|
PAPERLESS_EMAIL_HOST | mx.msgwing.com |
PAPERLESS_EMAIL_PORT | 587 |
PAPERLESS_EMAIL_USE_TLS | true |
PAPERLESS_EMAIL_HOST_USER | your @msgwing.com login |
PAPERLESS_EMAIL_HOST_PASSWORD | your @msgwing.com password |
PAPERLESS_EMAIL_FROM | your @msgwing.com login |
Register at msgwing.com first — the login and password are generated and shown once.
The part worth reading twice
The defaults are localhost on port 25 with PAPERLESS_EMAIL_USE_TLS set to false. All six values have to be set: leaving TLS off sends the password in the clear and the relay refuses it, which surfaces as a connection error rather than an authentication one and sends people looking at the wrong thing. PAPERLESS_EMAIL_FROM falls back to PAPERLESS_EMAIL_HOST_USER, so setting the user correctly fixes both - but set it anyway rather than relying on a default that may change.
Where these names come from
Every field above was read off Configuration, Paperless-ngx’s own documentation, rather than recalled. If that page and this one disagree, that page is right and this one is out of date — say so.
Related
- Other self-hosted applications
- Connection values and every other application
- All SMTP AUTH error messages
- Tools that are a better fit than this one
Last reviewed 2026-08-29.
Updated 29 Aug 2026