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.

Last reviewed 2026-08-29.

Updated 29 Aug 2026

mx.msgwing.com587 STARTTLS · 465 SSL/TLS Register free