Emails do not enqueue

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
[X] I have read intro post: About the Installation Issues category
[X] I have read the tutorials, help and searched for similar issues
[X] I provide relevant information about my server (component names and versions, etc.)
[X] I provide a copy of my logs and healthcheck
[X] I describe the steps I have taken to trouble shoot the problem
[X] I describe the steps on how to reproduce the issue

This topic was automatically closed 5 days after the last reply. New replies are no longer allowed.