[Bug]: Email SMTP Relay via IP Auth using M365 #2939

Closed
opened 2026-04-25 00:12:04 +02:00 by adam · 1 comment
Owner

Originally created by @Kerbster715 on GitHub (Aug 11, 2025).

What happened?

Can you make a toggle to allow SMTP Relay Auth without username and password? This is common with M365 SMTP email with scan to email from copy machines.

I have attached the error log below.

What did you expect to happen?

If Username and password were left blank it would default to SMTP Relay Auth without a username and password.

Steps to reproduce the issue

Audiobookshelf version

2.27.0

How are you running audiobookshelf?

Docker

What OS is your Audiobookshelf server hosted from?

Linux

If the issue is being seen in the UI, what browsers are you seeing the problem on?

None

Logs

[EmailManager] Failed to send test email Error: Can't send mail - all recipients were rejected: 550 5.7.64 TenantAttribution; Relay Access Denied [ValidationStatus of '' is EmptyCertificate] [SJ1PEPF000023D2.namprd02.prod.outlook.com 2025-08-10T22:42:38.553Z 08DDD733C30748DC] at SMTPConnection._formatError (/app/node_modules/nodemailer/lib/smtp-connection/index.js:798:19) at SMTPConnection._actionRCPT (/app/node_modules/nodemailer/lib/smtp-connection/index.js:1667:28) at SMTPConnection.<anonymous> (/app/node_modules/nodemailer/lib/smtp-connection/index.js:1620:30) at SMTPConnection._processResponse (/app/node_modules/nodemailer/lib/smtp-connection/index.js:982:20) at SMTPConnection._onData (/app/node_modules/nodemailer/lib/smtp-connection/index.js:763:14) at SMTPConnection._onSocketData (/app/node_modules/nodemailer/lib/smtp-connection/index.js:195:44) at TLSSocket.emit (node:events:524:28) at addChunk (node:internal/streams/readable:561:12) at readableAddChunkPushByteMode (node:internal/streams/readable:512:3) at Readable.push (node:internal/streams/readable:392:5) { code: 'EENVELOPE', response: "550 5.7.64 TenantAttribution; Relay Access Denied [ValidationStatus of '' is EmptyCertificate] [SJ1PEPF000023D2.namprd02.prod.outlook.com 2025-08-10T22:42:38.553Z 08DDD733C30748DC]", responseCode: 550, command: 'RCPT TO', rejected: [ 'myemail@gmail.com' ], rejectedErrors: [ Error: Recipient command failed: 550 5.7.64 TenantAttribution; Relay Access Denied [ValidationStatus of '' is EmptyCertificate] [SJ1PEPF000023D2.namprd02.prod.outlook.com 2025-08-10T22:42:38.553Z 08DDD733C30748DC] at SMTPConnection._formatError (/app/node_modules/nodemailer/lib/smtp-connection/index.js:798:19) at SMTPConnection._actionRCPT (/app/node_modules/nodemailer/lib/smtp-connection/index.js:1653:24) at SMTPConnection.<anonymous> (/app/node_modules/nodemailer/lib/smtp-connection/index.js:1620:30) at SMTPConnection._processResponse (/app/node_modules/nodemailer/lib/smtp-connection/index.js:982:20) at SMTPConnection._onData (/app/node_modules/nodemailer/lib/smtp-connection/index.js:763:14) at SMTPConnection._onSocketData (/app/node_modules/nodemailer/lib/smtp-connection/index.js:195:44) at TLSSocket.emit (node:events:524:28) at addChunk (node:internal/streams/readable:561:12) at readableAddChunkPushByteMode (node:internal/streams/readable:512:3) at Readable.push (node:internal/streams/readable:392:5) { code: 'EENVELOPE', response: "550 5.7.64 TenantAttribution; Relay Access Denied [ValidationStatus of '' is EmptyCertificate] [SJ1PEPF000023D2.namprd02.prod.outlook.com 2025-08-10T22:42:38.553Z 08DDD733C30748DC]", responseCode: 550, command: 'RCPT TO', recipient: 'myemail@gmail.com' } ] }

Additional Notes

Link to article for setting up SMTP relay using a relay connector. (https://learn.microsoft.com/en-us/exchange/mail-flow-best-practices/how-to-set-up-a-multifunction-device-or-application-to-send-email-using-microsoft-365-or-office-365#client-smtp-submission-authenticate-mail-sent-from-your-device-or-application-through-a-cloud-mailbox)

Originally created by @Kerbster715 on GitHub (Aug 11, 2025). ### What happened? Can you make a toggle to allow SMTP Relay Auth without username and password? This is common with M365 SMTP email with scan to email from copy machines. I have attached the error log below. ### What did you expect to happen? If Username and password were left blank it would default to SMTP Relay Auth without a username and password. ### Steps to reproduce the issue 1. ### Audiobookshelf version 2.27.0 ### How are you running audiobookshelf? Docker ### What OS is your Audiobookshelf server hosted from? Linux ### If the issue is being seen in the UI, what browsers are you seeing the problem on? None ### Logs ```shell [EmailManager] Failed to send test email Error: Can't send mail - all recipients were rejected: 550 5.7.64 TenantAttribution; Relay Access Denied [ValidationStatus of '' is EmptyCertificate] [SJ1PEPF000023D2.namprd02.prod.outlook.com 2025-08-10T22:42:38.553Z 08DDD733C30748DC] at SMTPConnection._formatError (/app/node_modules/nodemailer/lib/smtp-connection/index.js:798:19) at SMTPConnection._actionRCPT (/app/node_modules/nodemailer/lib/smtp-connection/index.js:1667:28) at SMTPConnection.<anonymous> (/app/node_modules/nodemailer/lib/smtp-connection/index.js:1620:30) at SMTPConnection._processResponse (/app/node_modules/nodemailer/lib/smtp-connection/index.js:982:20) at SMTPConnection._onData (/app/node_modules/nodemailer/lib/smtp-connection/index.js:763:14) at SMTPConnection._onSocketData (/app/node_modules/nodemailer/lib/smtp-connection/index.js:195:44) at TLSSocket.emit (node:events:524:28) at addChunk (node:internal/streams/readable:561:12) at readableAddChunkPushByteMode (node:internal/streams/readable:512:3) at Readable.push (node:internal/streams/readable:392:5) { code: 'EENVELOPE', response: "550 5.7.64 TenantAttribution; Relay Access Denied [ValidationStatus of '' is EmptyCertificate] [SJ1PEPF000023D2.namprd02.prod.outlook.com 2025-08-10T22:42:38.553Z 08DDD733C30748DC]", responseCode: 550, command: 'RCPT TO', rejected: [ 'myemail@gmail.com' ], rejectedErrors: [ Error: Recipient command failed: 550 5.7.64 TenantAttribution; Relay Access Denied [ValidationStatus of '' is EmptyCertificate] [SJ1PEPF000023D2.namprd02.prod.outlook.com 2025-08-10T22:42:38.553Z 08DDD733C30748DC] at SMTPConnection._formatError (/app/node_modules/nodemailer/lib/smtp-connection/index.js:798:19) at SMTPConnection._actionRCPT (/app/node_modules/nodemailer/lib/smtp-connection/index.js:1653:24) at SMTPConnection.<anonymous> (/app/node_modules/nodemailer/lib/smtp-connection/index.js:1620:30) at SMTPConnection._processResponse (/app/node_modules/nodemailer/lib/smtp-connection/index.js:982:20) at SMTPConnection._onData (/app/node_modules/nodemailer/lib/smtp-connection/index.js:763:14) at SMTPConnection._onSocketData (/app/node_modules/nodemailer/lib/smtp-connection/index.js:195:44) at TLSSocket.emit (node:events:524:28) at addChunk (node:internal/streams/readable:561:12) at readableAddChunkPushByteMode (node:internal/streams/readable:512:3) at Readable.push (node:internal/streams/readable:392:5) { code: 'EENVELOPE', response: "550 5.7.64 TenantAttribution; Relay Access Denied [ValidationStatus of '' is EmptyCertificate] [SJ1PEPF000023D2.namprd02.prod.outlook.com 2025-08-10T22:42:38.553Z 08DDD733C30748DC]", responseCode: 550, command: 'RCPT TO', recipient: 'myemail@gmail.com' } ] } ``` ### Additional Notes Link to article for setting up SMTP relay using a relay connector. (https://learn.microsoft.com/en-us/exchange/mail-flow-best-practices/how-to-set-up-a-multifunction-device-or-application-to-send-email-using-microsoft-365-or-office-365#client-smtp-submission-authenticate-mail-sent-from-your-device-or-application-through-a-cloud-mailbox)
adam added the bug label 2026-04-25 00:12:04 +02:00
adam closed this issue 2026-04-25 00:12:05 +02:00
Author
Owner

@Kerbster715 commented on GitHub (Aug 11, 2025):

Nevermind it randomly seems to be working now.

@Kerbster715 commented on GitHub (Aug 11, 2025): Nevermind it randomly seems to be working now.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#2939