Hello.
I used passbolt docker image version : passbolt/passbolt:2.7.1-debian
and migrated 3 weeks ago to passbolt/passbolt:2.10.0-debian
. Since then i do not receive any email from passbolt anymore. I tryed to figure out what was the problem, here is what i found out until now, any help would be greatly appreciated.
Tiggering Test mail → OK
When i run ./cake passbolt send_test_email --recipient=myemail@mydomain.com
It ends with “The message has been successfully sent!” and indeed i receive the message in my mailbox.
Manually triggering mail → OK
When i run su -c "./bin/cake passbolt register_user -u myuser@mydomain.com -f Firstname -l Lastname -r admin" -s /bin/bash www-data
It ends OK as well and i receive the mail in my mailbox
Triggering mail through passbolt website → NOPE
If i complete the account recovery form and validate it the website says everything is ok and that i will receive email to complet recovery but nothing comes even after a loooong time.
Email queue
-
When i run :
SELECT id,subject,sent,locked,send_tries,send_at,created,config FROM email_queue;
after validating the recovery form, no new record can be found, the last record found in this table is older than my migration to version 2.10 -
When i run
./cake EmailQueue.sender
to send emails in queue, everything seems find, no error, no output at all -
When i run
./cake EmailQueue.preview
to see queue content, i got the following error :
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /var/www/passbolt/vendor/lorenzo/cakephp-email-queue/src/Database/Type/SerializeType.php on line 22
2019-08-05 09:53:09 Error: Fatal Error (1): Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in [/var/www/passbolt/vendor/lorenzo/cakephp-email-queue/src/Database/Type/SerializeType.php, line 22]
Fatal Error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in [/var/www/passbolt/vendor/lorenzo/cakephp-email-queue/src/Database/Type/SerializeType.php, line 22]
Cron
My root crontab is as follow
* * * * * su -c "source /etc/environment ; /var/www/passbolt/bin/cake EmailQueue.sender" -s /bin/bash www-data >> /var/log/cron.log 2>&1
When i run this command manually as root, i get no output neither to stdout, nor to /var/log/cron.log
HealthCheck result
---------------------------------------------------------------
Healthcheck shell
---------------------------------------------------------------
Environment
[PASS] PHP version 7.2.18.
[PASS] PCRE compiled with unicode support.
[PASS] The temporary directory and its content are writable.
[PASS] The public image directory and its content are writable.
[PASS] The logs directory and its content are writable.
[PASS] GD or Imagick extension is installed.
[PASS] Intl extension is installed.
[PASS] Mbstring extension is installed.
Config files
[PASS] The application config file is present
[WARN] The passbolt config file is missing in /var/www/passbolt/config/
[HELP] Copy /var/www/passbolt/config/passbolt.php.default to /var/www/passbolt/config/passbolt.php
[HELP] The passbolt config file is not required if passbolt is configured with environment variables
Core config
[PASS] Debug mode is off.
[PASS] Cache is working.
[PASS] Unique value set for security.salt
[PASS] Full base url is set to https://passbolt.mios.maxicoffee.domains
[PASS] App.fullBaseUrl validation OK.
[PASS] /healthcheck/status is reachable.
SSL Certificate
[FAIL] SSL peer certificate does not validate
[FAIL] Hostname does not match when validating certificates.
[WARN] Using a self-signed certificate
[HELP] cURL Error (60) SSL certificate problem: unable to get local issuer certificate
Database
[PASS] The application is able to connect to the database
[PASS] 23 tables found
[PASS] Some default content is present
[PASS] The database schema up to date.
GPG Configuration
[PASS] PHP GPG Module is installed and loaded.
[PASS] The environment variable GNUPGHOME is set to /home/www-data/.gnupg.
[PASS] The directory /home/www-data/.gnupg containing the keyring is writable by the webserver user.
[FAIL] The server gpg key is not set
[HELP] Create a key, export it and add the fingerprint to config/passbolt.php
[HELP] See. https://www.passbolt.com/help/tech/install#toc_gpg
[PASS] The public key file is defined in config/passbolt.php and readable.
[PASS] The private key file is defined in config/passbolt.php and readable.
[FAIL] The server key fingerprint doesn't match the one defined in config/passbolt.php.
[HELP] Double check the key fingerprint, example:
[HELP] sudo su -s /bin/bash -c "gpg --list-keys --fingerprint --home /home/www-data/.gnupg" www-data | grep -i -B 2 'SERVER_KEY_EMAIL'
[HELP] SERVER_KEY_EMAIL: The email you used when you generated the server key.
[HELP] See. https://www.passbolt.com/help/tech/install#toc_gpg
[FAIL] The server public key defined in the config/passbolt.php (or environment variables) is not in the keyring
[HELP] Import the private server key in the keyring of the webserver user.
[HELP] you can try:
[HELP] sudo su -s /bin/bash -c "gpg --home /home/www-data/.gnupg --import /var/www/passbolt/config/gpg/serverkey_private.asc" www-data
[FAIL] The server key does not have a valid email id.
[HELP] Edit or generate another key with a valid email id.
Application configuration
[PASS] Using latest passbolt version (2.10.0).
[PASS] Passbolt is configured to force SSL use.
[PASS] App.fullBaseUrl is set to HTTPS.
[PASS] Selenium API endpoints are disabled.
[PASS] Search engine robots are told not to index content.
[PASS] Registration is closed, only administrators can add users.
[PASS] Serving the compiled version of the javascript app
[PASS] All email notifications will be sent.
6 error(s) found. Hang in there!
Analysis
I know my healthcheck is not perfect, my SSL certificate is self signated and GPG conf is not perfect but it use to works like a charm and those errors are most probably not related. To me the mail config is ok, the cron trigger is ok but nothing feeds the mail queue and i have no errors in log.
Any idea where to dig ?
Checklist
I have read intro post: About the Installation Issues category
I have read the tutorials, help and searched for similar issues
I provide relevant information about my server (component names and versions, etc.)
I provide a copy of my logs and healthcheck
I describe the steps I have taken to trouble shoot the problem
I describe the steps on how to reproduce the issue