New users do not receive activation email

Hello,

I’m facing an issue with user onboarding in Passbolt.

The SMTP configuration appears to be working correctly because I can successfully send and receive test emails from Administration > Email Settings > Send Test Email.

However, when I create a new user, the account is created successfully, but the user never receives the activation/welcome email required to complete the registration process.

G’day hwms83,

The “Send Test Email” and the activation/welcome email take different paths, which is why one works while the other doesn’t.

The test email is sent synchronously from the form values you submitted in the SMTP settings page. It bypasses the email queue entirely.

The activation/welcome email is enqueued into a database table and only delivered later by a background cron worker (cake passbolt email_digest send). If that worker is not running, the email sits in the queue indefinitely. There is no application log error because nothing went wrong with the enqueue step.

We have a page that walks through exactly this (test email works, notifications don’t), including the stopped-cron case:

https://www.passbolt.com/docs/hosting/email/troubleshooting/

Run this to see what is in the queue:

Docker:

docker compose exec passbolt su -s /bin/bash -c "/usr/share/php/passbolt/bin/cake passbolt show_queued_emails --failed" www-data

Package install:

sudo -H -u www-data /usr/share/php/passbolt/bin/cake passbolt show_queued_emails --failed

Three outcomes:

  • Welcome email is present with no error: the cron worker is not running. Test-flush the queue manually by substituting email_digest send for show_queued_emails --failed in the same command. If the email arrives, check that cron is configured and running on the host.
  • Welcome email is present with an SMTP error: the queue is reading different SMTP settings than your test used. The queue reads from the database (or docker-compose env vars for Docker); the test used the form values you submitted. A common mismatch: port 465 with tls=true. Port 465 (implicit TLS) needs ssl:// prepended to the hostname and TLS left unset; port 587 (STARTTLS) uses tls=true with a plain hostname.
  • No welcome email row at all: the notification is disabled. Check Organisation Settings > Email Notifications > “When a new user is created”.

If you’d like a hand interpreting the queue output, feel free to post it here (addresses redacted).

Cheers
Gareth

Thank you, I managed to solve it!! Your help worked!

1 Like