The issue was solved in the following way … it took us a while to figure it out .
Our mail account for the Speckle Server (a Microsoft 365 Outlook address) has an MFA (which was there from the beginning) … somehow, maybe due to an update of Microsoft or our internal doings, Nodemailer from the Speckle Server was not able to send mails through the account anymore.
By taking a look at the logs of the server (we did a docker-compose down and docker-compose up to see the start of the server and have a less cluttered log) we found out the following:
{"@l":"Error","err":{"type":"Error","message":"Invalid login: 535 5.7.139 Authentication unsuccessful, the request did not meet the criteria to be authenticated successfully. Contact your administrator. [FR2P281CA0125.DEUP281.PROD.OUTLOOK.COM 2024-03-18T21:26:34.920Z 08DC46A1C25080EA]","stack":"Error: Invalid login: 535 5.7.139 Authentication unsuccessful, the request did not meet the criteria to be authenticated successfully. Contact your administrator. [FR2P281CA0125.DEUP281.PROD.OUTLOOK.COM 2024-03-18T21:26:34.920Z 08DC46A1C25080EA]\n at SMTPConnection._formatError (/speckle-server/node_modules/nodemailer/lib/smtp-connection/index.js:790:19)\n at SMTPConnection._actionAUTHComplete (/speckle-server/node_modules/nodemailer/lib/smtp-connection/index.js:1564:34)\n at SMTPConnection.<anonymous> (/speckle-server/node_modules/nodemailer/lib/smtp-connection/index.js:1518:18)\n at SMTPConnection._processResponse (/speckle-server/node_modules/nodemailer/lib/smtp-connection/index.js:969:20)\n at SMTPConnection._onData (/speckle-server/node_modules/nodemailer/lib/smtp-connection/index.js:755:14)\n at SMTPConnection._onSocketData (/speckle-server/node_modules/nodemailer/lib/smtp-connection/index.js:193:44)\n at TLSSocket.emit (node:events:517:28)\n at TLSSocket.emit (node:domain:489:12)\n at addChunk (node:internal/streams/readable:368:12)\n at readableAddChunk (node:internal/streams/readable:341:9)","code":"EAUTH","response":"535 5.7.139 Authentication unsuccessful, the request did not meet the criteria to be authenticated successfully. Contact your administrator. [FR2P281CA0125.DEUP281.PROD.OUTLOOK.COM 2024-03-18T21:26:34.920Z 08DC46A1C25080EA]","responseCode":535,"command":"AUTH LOGIN"},"@t":"2024-03-18T21:26:34.921Z","@x":"Error: Invalid login: 535 5.7.139 Authentication unsuccessful, the request did not meet the criteria to be authenticated successfully. Contact your administrator. [FR2P281CA0125.DEUP281.PROD.OUTLOOK.COM 2024-03-18T21:26:34.920Z 08DC46A1C25080EA]\n at SMTPConnection._formatError (/speckle-server/node_modules/nodemailer/lib/smtp-connection/index.js:790:19)\n at SMTPConnection._actionAUTHComplete (/speckle-server/node_modules/nodemailer/lib/smtp-connection/index.js:1564:34)\n at SMTPConnection.<anonymous> (/speckle-server/node_modules/nodemailer/lib/smtp-connection/index.js:1518:18)\n at SMTPConnection._processResponse (/speckle-server/node_modules/nodemailer/lib/smtp-connection/index.js:969:20)\n at SMTPConnection._onData (/speckle-server/node_modules/nodemailer/lib/smtp-connection/index.js:755:14)\n at SMTPConnection._onSocketData (/speckle-server/node_modules/nodemailer/lib/smtp-connection/index.js:193:44)\n at TLSSocket.emit (node:events:517:28)\n at TLSSocket.emit (node:domain:489:12)\n at addChunk (node:internal/streams/readable:368:12)\n at readableAddChunk (node:internal/streams/readable:341:9)","@mt":"📧 Email provider is misconfigured, check config variables."}
{"@l":"Warning","component":"modules","@t":"2024-03-18T21:26:34.921Z","@mt":"📧 Email provider is not configured. Server functionality will be limited."}
The important segment was this one:
":"Invalid login: 535 5.7.139 Authentication unsuccessful, the request did not meet the criteria to be authenticated successfully. Contact your administrator
.
After taking a look at the page above and the log of the mail account in the Microsoft 365 Admin center we learned that the MFA blocked the Speckle server.
We had to remove the MFA of the mail address and added an alternative safety measure. Nodemailer and the mail address are now best friends again. I’m not sure why this happened, but I’m happy now that it is fixed. As the mail service was still in sleepy mode, we had to restart the server so that it became active again.
Going back to the beginning of this post:
As the Speckle team introduced this notice page (which actually is important ) our dear friends from the Architects-side were not able to enter the server anymore after the first login, as they were not able to verify their accounts. There was no mail in their account to verify
We had to verify them manually via the database (and PGadmin) to make the notice page vanish.
In sum, it was not the best impression of onboarding our dear architects to a new workflow, and we went a bit too passive with Speckle in the project … but I hope we can still turn it around .