Requested table definitions: Code: MariaDB [dbispconfig]> describe mail_domain; +----------------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------------+------------------+------+-----+---------+----------------+ | domain_id | int(11) unsigned | NO | PRI | NULL | auto_increment | | sys_userid | int(11) unsigned | NO | | 0 | | | sys_groupid | int(11) unsigned | NO | | 0 | | | sys_perm_user | varchar(5) | NO | | | | | sys_perm_group | varchar(5) | NO | | | | | sys_perm_other | varchar(5) | NO | | | | | server_id | int(11) unsigned | NO | MUL | 0 | | | domain | varchar(255) | NO | MUL | | | | dkim | enum('n','y') | NO | | n | | | dkim_selector | varchar(63) | NO | | default | | | dkim_private | mediumtext | YES | | NULL | | | dkim_public | mediumtext | YES | | NULL | | | active | enum('n','y') | NO | | n | | +----------------+------------------+------+-----+---------+----------------+ 13 rows in set (0.001 sec) MariaDB [dbispconfig]> describe mail_user; +--------------------------+-------------------+------+-----+---------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------------------+-------------------+------+-----+---------------------+----------------+ | mailuser_id | int(11) unsigned | NO | PRI | NULL | auto_increment | | sys_userid | int(11) unsigned | NO | | 0 | | | sys_groupid | int(11) unsigned | NO | | 0 | | | sys_perm_user | varchar(5) | NO | | | | | sys_perm_group | varchar(5) | NO | | | | | sys_perm_other | varchar(5) | NO | | | | | server_id | int(11) unsigned | NO | MUL | 0 | | | email | varchar(255) | NO | MUL | | | | login | varchar(255) | NO | | | | | password | varchar(255) | NO | | | | | name | varchar(255) | NO | | | | | uid | int(11) | NO | | 5000 | | | gid | int(11) | NO | | 5000 | | | maildir | varchar(255) | NO | | | | | maildir_format | varchar(255) | NO | | maildir | | | quota | bigint(20) | NO | | -1 | | | cc | text | YES | | NULL | | | forward_in_lda | enum('n','y') | NO | | n | | | sender_cc | varchar(255) | NO | | | | | homedir | varchar(255) | NO | | | | | autoresponder | enum('n','y') | NO | | n | | | autoresponder_start_date | datetime | YES | | NULL | | | autoresponder_end_date | datetime | YES | | NULL | | | autoresponder_subject | varchar(255) | NO | | Out of office reply | | | autoresponder_text | mediumtext | YES | | NULL | | | move_junk | enum('y','a','n') | NO | | y | | | purge_trash_days | int(11) | NO | | 0 | | | purge_junk_days | int(11) | NO | | 0 | | | custom_mailfilter | mediumtext | YES | | NULL | | | postfix | enum('n','y') | NO | | y | | | greylisting | enum('n','y') | NO | | n | | | access | enum('n','y') | NO | | y | | | disableimap | enum('n','y') | NO | | n | | | disablepop3 | enum('n','y') | NO | | n | | | disabledeliver | enum('n','y') | NO | | n | | | disablesmtp | enum('n','y') | NO | | n | | | disablesieve | enum('n','y') | NO | | n | | | disablesieve-filter | enum('n','y') | NO | | n | | | disablelda | enum('n','y') | NO | | n | | | disablelmtp | enum('n','y') | NO | | n | | | disabledoveadm | enum('n','y') | NO | | n | | | disablequota-status | enum('n','y') | NO | | n | | | disableindexer-worker | enum('n','y') | NO | | n | | | last_quota_notification | date | YES | | NULL | | | backup_interval | varchar(255) | NO | | none | | | backup_copies | int(11) | NO | | 1 | | +--------------------------+-------------------+------+-----+---------------------+----------------+ 46 rows in set (0.002 sec) MariaDB [dbispconfig]> describe mail_forwarding; +----------------+--------------------------------------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------------+--------------------------------------------------+------+-----+---------+----------------+ | forwarding_id | int(11) unsigned | NO | PRI | NULL | auto_increment | | sys_userid | int(11) unsigned | NO | | 0 | | | sys_groupid | int(11) unsigned | NO | | 0 | | | sys_perm_user | varchar(5) | NO | | | | | sys_perm_group | varchar(5) | NO | | | | | sys_perm_other | varchar(5) | NO | | | | | server_id | int(11) unsigned | NO | MUL | 0 | | | source | varchar(255) | NO | | | | | destination | text | YES | | NULL | | | type | enum('alias','aliasdomain','forward','catchall') | NO | MUL | alias | | | active | enum('n','y') | NO | | n | | | allow_send_as | enum('n','y') | NO | | n | | | greylisting | enum('n','y') | NO | | n | | +----------------+--------------------------------------------------+------+-----+---------+----------------+ 13 rows in set (0.001 sec)
/etc/postfix/mysql-virtual_mailboxes.cf Code: user = ispconfig password = xxxxxx dbname = dbispconfig hosts = 127.0.0.1 query = select CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') from mail_user where login = '%s' and postfix = 'y' and disabledeliver = 'n' and server_id = 1 Code: select CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') from mail_user where login = '[email protected]' and postfix = 'y' and disabledeliver = 'n' and server_id = 1; Empty set (0.000 sec) Code: select CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') from mail_user where login = 'mail' and postfix = 'y' and disabledeliver = 'n' and server_id = 1; +----------------------------------------------------------------------------+ | CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') | +----------------------------------------------------------------------------+ | mydomain.com/mail/ | +----------------------------------------------------------------------------+ Code: select CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') from mail_user where postfix = 'y' and disabledeliver = 'n' and server_id = 1; +----------------------------------------------------------------------------+ | CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') | +----------------------------------------------------------------------------+ | mydomain.com/mail/ | +----------------------------------------------------------------------------+
The query above does only return something when the login='username' not login='[email protected]'. Code: select * from mail_user where login = '[email protected]'; Empty set (0.000 sec) select * from mail_user where login = 'mail'; +-------------+------------+-------------+---------------+----------------+----------------+-----------+-----------------------+-------+------------------------------------+--------------+------+------+----------------------------------+----------------+------------+------+----------------+-----------+------------+---------------+--------------------------+------------------------+-----------------------+--------------------+-----------+------------------+-----------------+-------------------+---------+-------------+--------+-------------+-------------+----------------+-------------+--------------+---------------------+------------+-------------+----------------+---------------------+-----------------------+-------------------------+-----------------+---------------+ | mailuser_id | sys_userid | sys_groupid | sys_perm_user | sys_perm_group | sys_perm_other | server_id | email | login | password | name | uid | gid | maildir | maildir_format | quota | cc | forward_in_lda | sender_cc | homedir | autoresponder | autoresponder_start_date | autoresponder_end_date | autoresponder_subject | autoresponder_text | move_junk | purge_trash_days | purge_junk_days | custom_mailfilter | postfix | greylisting | access | disableimap | disablepop3 | disabledeliver | disablesmtp | disablesieve | disablesieve-filter | disablelda | disablelmtp | disabledoveadm | disablequota-status | disableindexer-worker | last_quota_notification | backup_interval | backup_copies | +-------------+------------+-------------+---------------+----------------+----------------+-----------+-----------------------+-------+------------------------------------+--------------+------+------+----------------------------------+----------------+------------+------+----------------+-----------+------------+---------------+--------------------------+------------------------+-----------------------+--------------------+-----------+------------------+-----------------+-------------------+---------+-------------+--------+-------------+-------------+----------------+-------------+--------------+---------------------+------------+-------------+----------------+---------------------+-----------------------+-------------------------+-----------------+---------------+ | 1 | 2 | 2 | riud | riud | | 1 | [email protected] | mail | xxxx | Name | 5000 | 5000 | /var/vmail/mydomain.com/mail | maildir | 5242880000 | | n | | /var/vmail | n | NULL | NULL | Out of office reply | | y | 0 | 0 | | y | y | y | n | n | n | n | n | n | n | n | n | n | n | NULL | none | 1 | +-------------+------------+-------------+---------------+----------------+----------------+-----------+-----------------------+-------+------------------------------------+--------------+------+------+----------------------------------+----------------+------------+------+----------------+-----------+------------+---------------+--------------------------+------------------------+-----------------------+--------------------+-----------+------------------+-----------------+-------------------+---------+-------------+--------+-------------+-------------+----------------+-------------+--------------+---------------------+------------+-------------+----------------+---------------------+-----------------------+-------------------------+-----------------+---------------+
That's the solution! With the query on "email", my main mailbox [email protected] is working again in- and externally.
Ok, that looks like a bug, thanks for reporting it, and please holler if you run into any other issues. We value you brave beta testers willing to work through a few of these issues.
@Jesse Norell see https://git.ispconfig.org/ispconfig/ispconfig3/-/commit/d4c760c19560c720d0df2297f573441de4660140 We have to make sure a fix doesn't break custom logins
Yeah, looks like that's where it changed; the old query wouldn't have returned a result either, I'm not positive how it was working (still puzzling on that), but the change to 'email' is correct. The other changes to 'login' in the above commit all have to do with authentication (a "username") not where to deliver email (a email address).
I doubt it as it has just been midnight in our timezone I don't know at what time the nightly is generated, but I suspect it will be in 3.2dev20200925 or 3.2dev20200926. As soon as it's merged you can upgrade to git-develop aswell, instead of the nightly.