ScanRelay / Guides

Xerox scan to email with Office 365 after Basic auth ends

Xerox supports OAuth 2.0 for Exchange Online on current AltaLink, VersaLink and B/C-series models, as long as the firmware is recent enough. Older WorkCentre-era devices and mixed fleets can send through a local relay.

What changes in December 2026

Microsoft's updated timeline (Exchange Team blog, January 27, 2026) says that at the end of December 2026, Basic authentication for SMTP AUTH is disabled by default in existing Exchange Online tenants. Admins can still turn it back on for the tenant or for single mailboxes. Tenants created after that date won't have it at all, and Microsoft will announce the final removal date in the second half of 2027.

Many Xerox devices are set up with smtp.office365.com, port 587, STARTTLS and a mailbox username and password. That's Basic auth. When it's turned off, scans fail at the send step. The device log or the SMTP conversation usually shows a 535 5.7.139 error.

Option 1: native OAuth 2.0 on current Xerox firmware

Xerox's support articles list minimum firmware levels. Below these levels, "OAuth 2.0 is NOT SUPPORTED":

Xerox uses a Device Code Flow. A Microsoft tenant admin first consents to the "Xerox Device Code Flow Email application", and then the device is authorized with a sign-in code. Xerox's Exchange Online authentication page covers the product families and flows.

Where the SMTP settings live in the Embedded Web Server

Option 2: point the device at a local relay

If a device can't do OAuth, if the OAuth token keeps expiring, or if you run a mixed fleet and want one way to set everything up, point the device at a relay on your LAN. The device then sends plain SMTP to the relay, and the relay does the Microsoft 365 authentication. ScanRelay sends through Microsoft Graph as one mailbox you choose, so messages reach internal and external recipients, land in Sent Items, and need no DNS or SPF changes.

Device fieldValue when pointing at ScanRelay
SMTP server / hostThe relay's LAN IP or DNS name (for example 10.0.20.5), not smtp.office365.com
Port25, or whichever host port you mapped to the container
SSL/TLS or STARTTLSOff, unless you gave the relay a certificate (SCANRELAY_TLS_CERT). If you did, use STARTTLS
SMTP authenticationNone, if the device's IP is in SCANRELAY_ALLOW_IPS. Otherwise the per-device login from SCANRELAY_USERS
From / device email addressAnything sensible. The relay rewrites From to your sending mailbox and keeps the device address as Reply-To

On a Xerox, set the SMTP host to the relay and the port to 25. Set connection encryption to none, or to STARTTLS if the relay has a certificate, and set authentication to none or to the relay login. On AltaLink this is under Required Settings, then Edit for SMTP.

  1. Deploy the relay (Docker or LXC) and connect it to one sending mailbox. The README has the app registration and the RBAC for Applications commands.
  2. Add the device's IP to SCANRELAY_ALLOW_IPS, or give it its own login.
  3. Change only the SMTP host, port, TLS and authentication fields on the device, as shown in the table above.
  4. Send a test scan to an internal and an external address, then check Sent Items on the sending mailbox.

Which option should you use?

Comparing every approach, including HVE, direct send and third-party senders? Read the hub guide.

Keep older scanners sending, without a third-party mail service

ScanRelay takes plain SMTP from devices on your LAN and sends it as your own mailbox through Microsoft Graph with OAuth. It's open source and self-hostable. The hosted relay and MSP dashboard are in beta from October 2026.

Join the betaView on GitHub

Sources

  1. Xerox KB0431230: Configuring Scan to Email using OAuth2.0 (AltaLink)
  2. Xerox KB0431245: Configuring Scan to Email using OAuth2.0 (VersaLink)
  3. Xerox KB0431231: Configuring Scan to Email using OAuth 2.0 (B/C series)
  4. Xerox KB0426874: How to configure Scan to Email (SMTP), AltaLink
  5. Xerox: Microsoft Exchange Online authentication
  6. Microsoft Exchange Team: Updated SMTP AUTH Basic Authentication deprecation timeline
  7. ScanRelay on GitHub