Login email verification fail when email tests are successful (bug will be fixed)

When signing into the passbolt server a verification email is supposedly sent but nothing comes through.
Check your mailbox!
We sent you a link to verify your email.
Check your spam folder if you do not hear from us after a while.

SPAM folders checked and no emails are there from the passbolt server.

All test emails worked through out the installation process and other notifications are working such as recovery emails but when you are in a browser and attempt to log in no email is ever sent.

sudo -H -u www-data bash -c “/usr/share/php/passbolt/bin/cake passbolt send_test_email --recipient=testemail@server.com” is successful

Date: Tue, 16 Aug 2022 15:36:48 +0000
Message-ID: d01cf9c79e2046c1a183ff728e555b61@server
Subject: Passbolt test email
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Congratulations!
If you receive this email, it means that your passbolt smtp configuration is working fine.

Hi @vnavna Welcome to the forum!

First step is to reference this guide Passbolt Help | Why are my emails not being sent?

Post back if it doesn’t help.

Hi @vnavna .I had the same problem, and I use wireshark to capture TCP request. Found that’s cause when I send test email ,it have the right sender email address. But when I send the invite email , the sender email address was “you@localhost.test” , it’s not my setting and For SMTP, this is a mistake. So fail to send.

I edit this file “/etc/passbolt/app.php” line:266 .Change “you@localhost.test” to be my email address, it work now.

2 Likes

Jo @white, thanks for the heads up, what you are reporting this seems to be a new issue with 3.8. We’ll publish a new 3.8.1 this afternoon to fix this.

1 Like

Nice, bro. I had try to use ubuntu or debian, all the same. hah :+1:

I did a clean install yesterday on ubuntu 22.04. Test emails were all good (sending and receiving). Healthcheck all green but no luck with notification emails. This was the solution. So I can confirm this works.
Thanks man.

Hi @white and @keromudo ,

just to make sure that we are identifying the problem correctly:

  1. You migrated to passbolt v3.8
  2. The sender email address defined in config/passbolt.php (or in config/app.php if not in config/passbolt.php) was not a valid email, and the emails were not sent anymore.
  3. You edited the sender email and the emails were sent again correctly.

Is this right?

Hi @pabloelcolombiano. right

  1. Version is Passbolt CE 3.8.0
  2. In “/etc/passbolt/app.php”, the sender email address was defined to be “you@localhost.test”. If I send email, smtp response error “553 Mail from must equal authorized user”.Can’t send any email.
'Email' => [
    'default' => [
        'transport' => env('EMAIL_DEFAULT_TRANSPORT', 'default'),
        'from' => [
            env('EMAIL_DEFAULT_FROM', 'you@localhost.test') => env('EMAIL_DEFAULT_FROM_NAME', 'Passbolt')
        ],
        //'charset' => 'utf-8',
        //'headerCharset' => 'utf-8',
    ],
],
  1. I had change sender email address to be a normal email address, finaly, it was success to send email.
'Email' => [
    'default' => [
        'transport' => env('EMAIL_DEFAULT_TRANSPORT', 'default'),
        'from' => [
            env('EMAIL_DEFAULT_FROM', 'drdjccm@163.com') => env('EMAIL_DEFAULT_FROM_NAME', 'Passbolt')
        ],
        //'charset' => 'utf-8',
        //'headerCharset' => 'utf-8',
    ],
],

@keromudo we’re not able to reproduce this with a fresh install. Can you explain what you did? Did configure the application using the websinstaller or some other method?

@white thank you for the detailed info. I am surprized that your email settings were not defined in your config/passbolt.php. Do you have such a config file? Aren’t SMTP settings defined in it?
If no, it would be interesting for us to know what led to you editing your app.php file.

Hi @pabloelcolombiano .When I install passbolt in debian 11.5.0 ,test email was success to send, but invite email fail. So I reinstall in Ubuntu 22.04.1, but sitll can’t to send invite email to user.
I try to run "sudo -H -u www-data bash -c “/usr/share/php/passbolt/bin/cake.php EmailQueue.sender” on server.

  • if I set ’ :email:163.com’ on SMTP, response error was “553 Mail from must equal authorized user” ;

  • if I set ’ :email:qq.com’ on SMTP, response error was “501 Mail from address must be same as authorization user.”

So I think, maybe I was set the error email address on passbolt. For this reason, I use wireshark to check what happen in sending. And found the sender email address was ‘you@localhost.test’ in sending. This email address not my setting, and no any where can set email else but username. So I think that’s not my error. And I search ‘you@localhost.test’ from all files, found “/etc/passbolt/app.php” and change it. Test to send and then success.

@white For clarity, can you confirm whether you have a /etc/passbolt/passbolt.php file? If so, what is found there regarding the Email settings?

@garrett @pabloelcolombiano Sorry for miss “/etc/passbolt/passbolt.php” file. It’s below:

<?php
/**
 * Passbolt ~ Open source password manager for teams
 * Copyright (c) Passbolt SA (https://www.passbolt.com)
 *
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 * For full copyright and license information, please see the LICENSE.txt
 * Redistributions of files must retain the above copyright notice.
 *
 * @copyright     Copyright (c) Passbolt SA (https://www.passbolt.com)
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 * @link          https://www.passbolt.com Passbolt(tm)
 * @since         2.0.0
 */
/**
 * PASSBOLT CONFIGURATION FILE
 *
 * This is a generated configuration file, which was generated by the passbolt web installer.
 *
 * To see all available options, you can refer to the default.php file, or replace this file
 * by a copy of passbolt.default.php
 * Do not modify default.php or you may break your upgrade process.
 *
 * Read more about how to install passbolt: https://www.passbolt.com/help/tech/install
 * Any issue, check out our FAQ: https://www.passbolt.com/faq
 * An installation issue? Ask for help to the community: https://community.passbolt.com/
 */
return [
    'App' => [
        // A base URL to use for absolute links.
        // The url where the passbolt instance will be reachable to your end users.
        // This information is need to render images in emails for example
        'fullBaseUrl' => '',
    ],

    // Database configuration.
    'Datasources' => [
        'default' => [
            'host' => '127.0.0.1',
            'port' => '3306',
            'username' => 'passboltadmin',
            'password' => '123456',
            'database' => 'passboltdb',
        ],
    ],

    'passbolt' => [
        // GPG Configuration.
        // The keyring must be owned and accessible by the webserver user.
        // Example: www-data user on Debian
        'gpg' => [
            // Main server key.
            'serverKey' => [
                // Server private key fingerprint.
                'fingerprint' => 'C90256F5231A28D0747BF42C5B13FBB45669F8B2',
                'public' => CONFIG . DS . 'gpg' . DS . 'serverkey.asc',
                'private' => CONFIG . DS . 'gpg' . DS . 'serverkey_private.asc',
            ],
        ],
        'registration' => [
            'public' => false,
        ],
        'ssl' => [
            'force' => false,
        ]
    ],
];


maybe it is due to no write permission.

I agree with your conclusion. The question then is maybe if something is causing it to change permissions.

I try to add write permission and resave email setting, still fail, not due to permission

In the installation process the passbolt.default.php is used to copy into a fresh passbolt.php so it would have the default Email settings… which seem to be missing.

And if I click “Or switch to another account.” on login page, and then use the ative admin email to login, it can’t login, tips Check your mailbox!. Maybe something error in install progress.

Hello,

This is to confirm we have an issue on fresh installation with v3.8.1. The emails are not sent when the SMTP configuration is stored in DB. Long story short the “From” address is not set correctly in this context. We’re working on a fix that will be released tomorrow. A workaround in the meantime is to set the from email address in config/app.php.

People user docker or that upgraded from 3.7 or earlier are not affected.

1 Like

I’ve noticed that you already found the bug but just to clarify.

I used this guide on fresh install of Ubuntu 22.04.1. Since I did it just yesterday I redid it all again today on fresh install step by step :footprints: . With the same result.

root@vmi435948:~# sudo -H -u www-data bash -c "/usr/share/php/passbolt/bin/cake passbolt send_test_email --recipient="

     ____                  __          ____
    / __ \____  _____ ____/ /_  ____  / / /_
   / /_/ / __ `/ ___/ ___/ __ \/ __ \/ / __/
  / ____/ /_/ (__  |__  ) /_/ / /_/ / / /
 /_/    \__,_/____/____/_.___/\____/_/\__/

 Open source password manager for teams
-------------------------------------------------------------------------------
 Debug email shell
-------------------------------------------------------------------------------
Email configuration
-------------------------------------------------------------------------------
Host: 
Port: 
Username: 
Password: 
TLS: false
Sending email from: Passbolt <>
Sending email to: 
-------------------------------------------------------------------------------
Trace
[220] ESMTP
 EHLO localhost
[250] 
[250] PIPELINING
[250] SIZE 33554432
[250] VRFY
[250] ETRN
[250] AUTH PLAIN LOGIN
[250] AUTH=PLAIN LOGIN
[250] ENHANCEDSTATUSCODES
[250] 8BITMIME
[250] DSN
 AUTH PLAIN AHBhc3Nib2x0QG9kdW1vcmVrLnNrAEltMVI6R05vb10=
[235] 2.7.0 Authentication successful
 MAIL FROM:<>
[250] 2.1.0 Ok
 RCPT TO:<>
[250] 2.1.5 Ok
 DATA
[354] End data with <CR><LF>.<CR><LF>
 From: Passbolt <>
To: 
Date: Wed, 16 Nov 2022 20:05:22 +0000
Message-ID: <>
Subject: Passbolt test email
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Congratulations!
If you receive this email, it means that your passbolt smtp configuration is working fine.
.
[250] 2.0.0 Ok: queued as 4NCDYZ3hVwzbfkn
 QUIT
The message has been successfully sent!

But invitation and every other mail just fails. Healthcheck is showing everything in order.

root@vmi435948:/usr/share/php/passbolt# sudo su -s /bin/bash -c "./bin/cake passbolt \
            healthcheck" www-data

     ____                  __          ____
    / __ \____  _____ ____/ /_  ____  / / /_
   / /_/ / __ `/ ___/ ___/ __ \/ __ \/ / __/
  / ____/ /_/ (__  |__  ) /_/ / /_/ / / /
 /_/    \__,_/____/____/_.___/\____/_/\__/

 Open source password manager for teams
-------------------------------------------------------------------------------
 Healthcheck shell
-------------------------------------------------------------------------------

 Environment

 [PASS] PHP version 8.1.2-1ubuntu2.8.
 [PASS] PCRE compiled with unicode support.
 [PASS] The temporary directory and its content are writable and not executable.
 [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
 [PASS] The passbolt config file is present

 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 
 [PASS] App.fullBaseUrl validation OK.
 [PASS] /healthcheck/status is reachable.

 SSL Certificate

 [PASS] SSL peer certificate validates
 [PASS] Hostname is matching in SSL certificate.
 [PASS] Not using a self-signed certificate

 Database

 [PASS] The application is able to connect to the database
 [PASS] 26 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 /var/lib/passbolt/.gnupg.
 [PASS] The directory /var/lib/passbolt/.gnupg containing the keyring is writable by the webserver user.
 [PASS] The server OpenPGP key is not the default one
 [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.
 [PASS] The server key fingerprint matches the one defined in config/passbolt.php.
 [PASS] The server public key defined in the config/passbolt.php (or environment variables) is in the keyring.
 [PASS] There is a valid email id defined for the server key.
 [PASS] The public key can be used to encrypt a message.
 [PASS] The private key can be used to sign a message.
 [PASS] The public and private keys can be used to encrypt and sign a message.
 [PASS] The private key can be used to decrypt a message.
 [PASS] The private key can be used to decrypt and verify a message.
 [PASS] The public key can be used to verify a signature.
 [PASS] The server public key format is Gopengpg compatible.
 [PASS] The server private key format is Gopengpg compatible.

 Application configuration

 [PASS] Using latest passbolt version (3.8.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.

 JWT Authentication

 [PASS] The JWT Authentication plugin is enabled
 [PASS] The /etc/passbolt/jwt/ directory is not writable.
 [PASS] A valid JWT key pair was found

 SMTP Settings

 [PASS] The SMTP Settings plugin is enabled.
 [PASS] SMTP Settings coherent. You may send a test email to validate them.
 [PASS] The SMTP Settings source is: database.

 [PASS] No error found. Nice one sparky!

The fix in app.php works just fine. :ok_hand: Maybe you could also add check for comparing database and app.php in future release?

you are genius, solution for this issue is change default config Email delivery profiles in “/etc/passbolt/app.php” line:266 .Change “you@localhost.test”.
Normally this setting will be set when user setup on web UI. Hope that issue will be fixed next version.