Jellyfin email and the Microsoft 365 Basic auth shutdown

Jellyfin is a self-hosted media server for films, television and music, usually run for one household. It sends:

  • a message when an item is added to the library, to whoever runs the server
  • authentication failures, successful logins and a user being locked out
  • scheduled-task completions, plugin installs and pending-restart notices

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

Jellyfin’s notifications go to whoever runs the server, not to the people watching, and the SMTP destination takes exactly one Receiver Address - so there is no audience deciding whether to trust the sender. Whether it stays under 200 a day is a choice you make when you tick the notification types rather than a property of Jellyfin: Item Added on a library that imports a season at a time, or Playback Progress on any library at all, will pass the cap in an afternoon.

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 Jellyfin it usually is not.

Settings

Jellyfin does not send email itself. Its own documentation says notifications appear on the dashboard and that anything else goes through the Webhook plugin - so mail exists only there. Install it from Dashboard -> Plugins -> Catalog, where it is filed under Administration rather than under notifications, restart the server, then open Dashboard -> Plugins -> Webhook and use Add SMTP Destination. These are the labels on that form.

Setting Value
Sender Address your @msgwing.com login
Receiver Address your own inbox, where you want the alerts
SMTP Server Address mx.msgwing.com
SMTP Port 465
Use Credentials ticked
Username your @msgwing.com login
Password your @msgwing.com password
Use SSL ticked

Register at msgwing.com first — the login and password are generated and shown once.

The part worth reading twice

465 is not a typo and 587 will not work here. Use SSL is not a STARTTLS toggle: the plugin passes SslOnConnect when it is ticked and no encryption whatsoever when it is not, and it offers no third option - so 587 either meets a client expecting implicit TLS or sends your password in the clear for the relay to refuse. Both mistakes are invisible from Jellyfin. Every send failure is caught and written as a single warning line to the server log, so the notification looks delivered and nothing arrives. Turn on debug logging for Jellyfin.Plugin.Webhook in logging.json before you trust an alert to reach you. Jellyfin’s prose documentation never names an SMTP field, so the labels above are read off the configuration form the plugin itself ships, linked below - not quoted from a manual page that does not exist.

Where these names come from

Every field above was read off Webhook plugin: the SMTP destination form, Jellyfin’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 31 Aug 2026

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