Azure registrations not receiving confirmation email #3820

Closed
opened 2026-02-05 07:33:49 +03:00 by OVERLORD · 18 comments
Owner

Originally created by @davecowley on GitHub (May 25, 2023).

Attempted Debugging

  • I have read the debugging page

Searched GitHub Issues

  • I have searched GitHub for the issue.

Describe the Scenario

When a new user signs up with an azure account they do not receive the email to validate their account. When I run a test email in settings it is received.

User is created in the users section of settings when azure registration done

Exact BookStack Version

23.05.2

Log Content

[2023-05-25 09:50:18] production.ERROR: Unable to read file from location: 2021-12-Dec/aVXvxeZ5tEOBsCYV-pdf. {"userId":56,"exception":"[object] (League\Flysystem\UnableToReadFile(code: 0): Unable to read file>
[stacktrace]

No other errors except [2023-05-25 09:53:22] production.ERROR: This azure account is already in use, Try logging in via the azure option. {"exception":"[object] (BookStack\Exceptions\UserRegistrationException(code: 0): This azure a>
[stacktrace]

But this is someone registering when they already exist.

PHP Version

8.1.2

Hosting Environment

Ubuntu 22.04.2 LTS VM
NGINX Proxy Manager redirects 443 to the KB

Originally created by @davecowley on GitHub (May 25, 2023). ### Attempted Debugging - [X] I have read the debugging page ### Searched GitHub Issues - [X] I have searched GitHub for the issue. ### Describe the Scenario When a new user signs up with an azure account they do not receive the email to validate their account. When I run a test email in settings it is received. User is created in the users section of settings when azure registration done ### Exact BookStack Version 23.05.2 ### Log Content [2023-05-25 09:50:18] production.ERROR: Unable to read file from location: 2021-12-Dec/aVXvxeZ5tEOBsCYV-pdf. {"userId":56,"exception":"[object] (League\\Flysystem\\UnableToReadFile(code: 0): Unable to read file> [stacktrace] No other errors except [2023-05-25 09:53:22] production.ERROR: This azure account is already in use, Try logging in via the azure option. {"exception":"[object] (BookStack\\Exceptions\\UserRegistrationException(code: 0): This azure a> [stacktrace] But this is someone registering when they already exist. ### PHP Version 8.1.2 ### Hosting Environment Ubuntu 22.04.2 LTS VM NGINX Proxy Manager redirects 443 to the KB
OVERLORD added the 🐕 Support label 2026-02-05 07:33:49 +03:00
Author
Owner

@davecowley commented on GitHub (May 25, 2023):

Forgot to say, azure details in settings are fine. Client secret hasnt expired.

@davecowley commented on GitHub (May 25, 2023): Forgot to say, azure details in settings are fine. Client secret hasnt expired.
Author
Owner

@ssddanbrown commented on GitHub (May 25, 2023):

Hi @davecowley, Do you have a QUEUE_CONNECTION setting defined in your .env at all?

@ssddanbrown commented on GitHub (May 25, 2023): Hi @davecowley, Do you have a `QUEUE_CONNECTION` setting defined in your `.env` at all?
Author
Owner

@davecowley commented on GitHub (May 25, 2023):

Hi, @ssddanbrown no mate it isnt mentioned.

@davecowley commented on GitHub (May 25, 2023): Hi, @ssddanbrown no mate it isnt mentioned.
Author
Owner

@ssddanbrown commented on GitHub (May 25, 2023):

@davecowley Okay. Generally then, when no errors arises during the invite and there's no specific error in the log, this indicates the email was sent but lack of visibility could be due to something beyond BookStack's communication with the SMTP server, so commonly spam filtering/routing. Could be something related to the recipient or content that's causing this to be treated different to the test send.

Any chance you can invite a user using a completely different email service provider? Just to see if that acts differently?

@ssddanbrown commented on GitHub (May 25, 2023): @davecowley Okay. Generally then, when no errors arises during the invite and there's no specific error in the log, this indicates the email was sent but lack of visibility could be due to something beyond BookStack's communication with the SMTP server, so commonly spam filtering/routing. Could be something related to the recipient or content that's causing this to be treated different to the test send. Any chance you can invite a user using a completely different email service provider? Just to see if that acts differently?
Author
Owner

@davecowley commented on GitHub (May 25, 2023):

so I signed up with https://imitate.email and ran a test using their details. Same behaviour, test emails received but new user setups failed.

@davecowley commented on GitHub (May 25, 2023): so I signed up with https://imitate.email and ran a test using their details. Same behaviour, test emails received but new user setups failed.
Author
Owner

@ssddanbrown commented on GitHub (May 25, 2023):

  • Can you run the following from your BookStack install directory and confirm the output?:
php artisan tinker --execute="echo DB::table('jobs')->count();"
  • Can you confirm the exact route taken (including URL paths) by users to get to the email confirmation page?
    • (There are multiple, just want to ensure I emulate the scenario in the same way)
  • Assuming you have standard auth active, Do you get emails when using the password reset flow from the login screen for an existing user?
@ssddanbrown commented on GitHub (May 25, 2023): - Can you run the following from your BookStack install directory and confirm the output?: ```bash php artisan tinker --execute="echo DB::table('jobs')->count();" ``` - Can you confirm the exact route taken (including URL paths) by users to get to the email confirmation page? - (There are multiple, just want to ensure I emulate the scenario in the same way) - Assuming you have standard auth active, Do you get emails when using the password reset flow from the login screen for an existing user?
Author
Owner

@davecowley commented on GitHub (May 25, 2023):

Sure, I'll have to come back to you on Tuesday though. I'm in leave til then with the bank holiday and tomorrow off too. Have a good Bank holiday

@davecowley commented on GitHub (May 25, 2023): Sure, I'll have to come back to you on Tuesday though. I'm in leave til then with the bank holiday and tomorrow off too. Have a good Bank holiday
Author
Owner

@davecowley commented on GitHub (May 30, 2023):

Morning

The result of that command is "6"

The process of creating the account I get them to go to : https://kb.xxxxxxx.com/register
Then they sign up with azure and insert their details which directs them to https://kb.xxxxxx.com/register/confirm
Then the email is not received to confirm the account.
Pressing forgot password for a manually registered account hasnt worked, if I go to settings/Maintenance and do the test email then it is received.

@davecowley commented on GitHub (May 30, 2023): Morning The result of that command is "6" The process of creating the account I get them to go to : https://kb.xxxxxxx.com/register Then they sign up with azure and insert their details which directs them to https://kb.xxxxxx.com/register/confirm Then the email is not received to confirm the account. Pressing forgot password for a manually registered account hasnt worked, if I go to settings/Maintenance and do the test email then it is received.
Author
Owner

@ssddanbrown commented on GitHub (May 30, 2023):

The result of that command is "6"

Alright, based upon that emails are being put in the queue but there's likely no queue worker running to process those jobs. By default the queue should not be used though.

Can you double check there's no QUEUE_CONNECTION option defined, in the .env or any other level?
This is the primary way that the job queue is activated.
Otherwise does running echo $QUEUE_CONNECTION in the terminal return anything, just in case there's a global environment value at play.

Additionally, what's the output of running ls -al bootstrap/cache from your BookStack install directory?

@ssddanbrown commented on GitHub (May 30, 2023): > The result of that command is "6" Alright, based upon that emails are being put in the queue but there's likely no queue worker running to process those jobs. By default the queue should not be used though. Can you double check there's no `QUEUE_CONNECTION` option defined, in the `.env` or any other level? This is the primary way that the job queue is activated. Otherwise does running `echo $QUEUE_CONNECTION` in the terminal return anything, just in case there's a global environment value at play. Additionally, what's the output of running `ls -al bootstrap/cache` from your BookStack install directory?
Author
Owner

@davecowley commented on GitHub (May 30, 2023):

I have just double checked the .env and its clear of that option.

I have just added it in though, saved, gone back in and removed it and that previous command is now saying 10.

php artisan tinker --execute="echo DB::table('jobs')->count();"
10

running echo $QUEUE_CONNECTION doesnt return anything.

drwxr-xr-x 2 www-data www-data 4096 Apr 17 13:20 .
drwxr-xr-x 3 xxxadmin www-data 4096 Apr 17 13:18 ..
-rwxr-xr-x 1 www-data www-data 14 Mar 7 10:26 .gitignore
-rwxr-xr-x 1 www-data www-data 1590 Apr 17 13:20 packages.php
-rwxr-xr-x 1 www-data www-data 19929 Apr 17 13:20 services.php

@davecowley commented on GitHub (May 30, 2023): I have just double checked the .env and its clear of that option. I have just added it in though, saved, gone back in and removed it and that previous command is now saying 10. php artisan tinker --execute="echo DB::table('jobs')->count();" 10 running echo $QUEUE_CONNECTION doesnt return anything. drwxr-xr-x 2 www-data www-data 4096 Apr 17 13:20 . drwxr-xr-x 3 xxxadmin www-data 4096 Apr 17 13:18 .. -rwxr-xr-x 1 www-data www-data 14 Mar 7 10:26 .gitignore -rwxr-xr-x 1 www-data www-data 1590 Apr 17 13:20 packages.php -rwxr-xr-x 1 www-data www-data 19929 Apr 17 13:20 services.php
Author
Owner

@davecowley commented on GitHub (May 30, 2023):

@ssddanbrown you'll never believe it but it is now working.

promise you it wasnt in there before so i dont know whats going on.

I'll test a few more times before closing.

@davecowley commented on GitHub (May 30, 2023): @ssddanbrown you'll never believe it but it is now working. promise you it wasnt in there before so i dont know whats going on. I'll test a few more times before closing.
Author
Owner

@davecowley commented on GitHub (May 30, 2023):

yep, looks ok to me now.

sorry for the random unexplained issue.

@davecowley commented on GitHub (May 30, 2023): yep, looks ok to me now. sorry for the random unexplained issue.
Author
Owner

@davecowley commented on GitHub (May 31, 2023):

sorry, randomly it is no longer working now. I tested with 2 people yesterday and it worked fine. had a new user today and it has failed.

However I noticed that an email came from the knowledge base at the time we should have got the email but it was missing the send as name and other bits so it was rejected. check out the screenshots. the one with lots of info is an ok one vs the other.

https://imgur.com/a/2nu0Pko

Ive double checked the end users Active directory account and it seems ok to me. no info is missing.

@davecowley commented on GitHub (May 31, 2023): sorry, randomly it is no longer working now. I tested with 2 people yesterday and it worked fine. had a new user today and it has failed. However I noticed that an email came from the knowledge base at the time we should have got the email but it was missing the send as name and other bits so it was rejected. check out the screenshots. the one with lots of info is an ok one vs the other. https://imgur.com/a/2nu0Pko Ive double checked the end users Active directory account and it seems ok to me. no info is missing.
Author
Owner

@ssddanbrown commented on GitHub (May 31, 2023):

However I noticed that an email came from the knowledge base at the time we should have got the email but it was missing the send as name and other bits so it was rejected.

Hi @davecowley,
It would be very strange for BookStack to change its sender details, or change the existence of a subject line, without external influence. From the above, you did have some strange behaviour in relation to the QUEUE_CONNECTION which may possibly (although not something I've ever seen) could also apply to sender name/email, but the subject line is handled different.

I'm wondering of the details just don't show since the shown email system does maybe not store those details for rejected emails.
From the screenshots, I traced the software to be "Hornet Security".
Looking into the software manual for the "Rejected" status:

Our email server rejects these emails directly during the SMTP dialog because of external characteristics, such as the identity of the sender, and the emails are not analyzed further.

This line makes it seem like it's an early rejected, and the "the emails are not analyzed further" part makes me think it might not continue to the point of storing extra details like subject (and maybe other details) in this scenario.

Looking into the manual (Page 518 of the manual I'm reading) for the 554 5.7.1 reason observed on the rejected mail:

554 5.7.1 Domain / User unknown
The email has been rejected because the specified domain is not available in the Control Panel.

I'm not sure what "domain" is refereed to here, but it sounds like maybe either the sender or receiver domain needs to be configured in the control panel of the software?
Is there a change in receiver domains for this latest send compared to those sent yesterday?

Edit: if it helps, a latter part of the manual has this description:

554 5.7.1: Unknown domain or unknown recipient (LDAP check)

So could be related to some level of LDAP check on the side of this security software?

@ssddanbrown commented on GitHub (May 31, 2023): > However I noticed that an email came from the knowledge base at the time we should have got the email but it was missing the send as name and other bits so it was rejected. Hi @davecowley, It would be very strange for BookStack to change its sender details, or change the existence of a subject line, without external influence. From the above, you did have some strange behaviour in relation to the `QUEUE_CONNECTION` which may possibly (although not something I've ever seen) could also apply to sender name/email, but the subject line is handled different. I'm wondering of the details just don't show since the shown email system does maybe not store those details for rejected emails. From the screenshots, I traced the software to be "Hornet Security". Looking into the software manual for the "Rejected" status: > Our email server rejects these emails directly during the SMTP dialog because of external characteristics, such as the identity of the sender, and the emails are not analyzed further. This line makes it seem like it's an early rejected, and the "the emails are not analyzed further" part makes me think it might not continue to the point of storing extra details like subject (and maybe other details) in this scenario. Looking into the manual (Page 518 of the manual I'm reading) for the `554 5.7.1` reason observed on the rejected mail: > 554 5.7.1 Domain / User unknown > The email has been rejected because the specified domain is not available in the Control Panel. I'm not sure what "domain" is refereed to here, but it sounds like maybe either the sender or receiver domain needs to be configured in the control panel of the software? Is there a change in receiver domains for this latest send compared to those sent yesterday? Edit: if it helps, a latter part of the manual has this description: > 554 5.7.1: Unknown domain or unknown recipient (LDAP check) So could be related to some level of LDAP check on the side of this security software?
Author
Owner

@davecowley commented on GitHub (Jun 1, 2023):

before when it was working all perfect we had catch all emails enabled so nothing got rejected. It has been changed for licensing issues to be known mailboxes only. The reciever of the emails are all known recievers so should be fine. the email address frm the sender kb@xxxx.com wasnt so I have added that to see if it makes any difference. Im not expecting it to, I need to wait a few hours for it to update so i'll come back to you.

@davecowley commented on GitHub (Jun 1, 2023): before when it was working all perfect we had catch all emails enabled so nothing got rejected. It has been changed for licensing issues to be known mailboxes only. The reciever of the emails are all known recievers so should be fine. the email address frm the sender kb@xxxx.com wasnt so I have added that to see if it makes any difference. Im not expecting it to, I need to wait a few hours for it to update so i'll come back to you.
Author
Owner

@davecowley commented on GitHub (Jun 1, 2023):

Ive got this idea in my head that its something wrong with the accounts not the product. I have just signed up an older account using the azure button without issue and the email was received. Tested again with a known account with the issue again and it failed. I have just gone through the known working and known failed on in Azure and cant see any differences.

I'll keep investigating but im pretty sure its not bookstack at fault, do you agree?

@davecowley commented on GitHub (Jun 1, 2023): Ive got this idea in my head that its something wrong with the accounts not the product. I have just signed up an older account using the azure button without issue and the email was received. Tested again with a known account with the issue again and it failed. I have just gone through the known working and known failed on in Azure and cant see any differences. I'll keep investigating but im pretty sure its not bookstack at fault, do you agree?
Author
Owner

@ssddanbrown commented on GitHub (Jun 1, 2023):

I'll keep investigating but im pretty sure its not bookstack at fault, do you agree?

I would say that's probable.
I used to work in the email marketing world, and from my experience there's likely to be way more variability and complexity in how email systems (Especially security layers in the chain) receive and deal with email than in how BookStack is sending email in this scenario. Apart from the sender details, nothing should really be changing on the BookStack side of things.

@ssddanbrown commented on GitHub (Jun 1, 2023): > I'll keep investigating but im pretty sure its not bookstack at fault, do you agree? I would say that's probable. I used to work in the email marketing world, and from my experience there's likely to be way more variability and complexity in how email systems (Especially security layers in the chain) receive and deal with email than in how BookStack is sending email in this scenario. Apart from the sender details, nothing should really be changing on the BookStack side of things.
Author
Owner

@davecowley commented on GitHub (Jun 1, 2023):

Yep has to be.

I just setup a new user on AD and synched up and its all worked perfectly fine. I had duplicated an account for the other accounts so must be an issue with the accounts cloned the accounts from.

Sorry to waste your time with this. I'll close it all down again.

@davecowley commented on GitHub (Jun 1, 2023): Yep has to be. I just setup a new user on AD and synched up and its all worked perfectly fine. I had duplicated an account for the other accounts so must be an issue with the accounts cloned the accounts from. Sorry to waste your time with this. I'll close it all down again.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/BookStack#3820