0

We have a mail server running POSTFIX with virtual mailboxes. The server was working fine under Ubuntu 14.04. We upgraded it to 16.04 and now the server is rejecting all virtual mailbox email. The same postfix configuration files that worked under 14.04 are being used now with 16.04. However the server will not accept incoming SMTP email for our virtual mailboxes.

I enabled debug_peer_list in postfix/main.cf and it provided me with a hint to the problem. Here is an inbound transaction from the syslog:

Apr 19 08:04:57 journal postfix/smtpd[18738]: connect from mail-co1nam03lp0024.outbound.protection.outlook.com[216.32.181.24]
Apr 19 08:04:57 journal lsass: [lsass] Failed to find user, group, or domain by name (name = 'outbound@journal.masked-domain.com', searched host = 'dc1.masked-domain.com') -> error = 40071, symbol = LW_ERROR_NO_SUCH_OBJECT
Apr 19 08:04:57 journal lsass: [lsass] Failed to find user, group, or domain by name (name = '@journal.masked-domain.com', searched host = 'dc1.masked-domain.com') -> error = 40071, symbol = LW_ERROR_NO_SUCH_OBJECT
Apr 19 08:04:57 journal postfix/smtpd[18738]: NOQUEUE: reject: RCPT from mail-co1nam03lp0024.outbound.protection.outlook.com[216.32.181.24]: 550 5.1.1 <outbound@journal.masked-domain.com>: Recipient address rejected: User unknown in local recipient table; from=<journal@masked-domain.us> to=<outbound@journal.masked-domain.com> proto=ESMTP helo=<NAM03-CO1-obe.outbound.protection.outlook.com>
Apr 19 08:04:57 journal postfix/smtpd[18738]: disconnect from mail-co1nam03lp0024.outbound.protection.outlook.com[216.32.181.24] ehlo=1 m

This is the problem:

Apr 19 08:04:57 journal lsass: [lsass] Failed to find user, group, or domain by name (name = '@journal.masked-domain.com', searched host = 'dc1.masked-domain.com') -> error = 40071, symbol = LW_ERROR_NO_SUCH_OBJECT

For some reason POSTFIX is going to the local machine for mailbox (user) lookup instead of using the virtual mailbox configuration. We run BeyondTrust PBIS for Active Directory integration on all of our servers. It was installed and working properly prior to the upgrade to 16.04 - in other words, it worked fine under 14.04.

We used this URL to configure our POSTFIX virtual mailbox server with DOVECOT: https://help.ubuntu.com/community/PostfixVirtualMailBoxClamSmtpHowto

Seems nothing has changed with postfix in 16.04 to cause this and other goggled configuration documentation show that this configuration format is pretty much the same.

Here is our postfix/main.cf file:

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

myhostname = journal.masked-domain.com

inet_interfaces = all
inet_protocols = all
myorigin = $myhostname
mailbox_size_limit = 0
message_size_limit = 52428800
recipient_delimiter = +

# Virtual Configuration
virtual_mailbox_domains = /etc/postfix/vhosts
virtual_mailbox_base = /d01/vmail
virtual_mailbox_limit = 0
virtual_mailbox_maps = hash:/etc/postfix/vmaps
virtual_minimum_uid = 1000
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000

# For debugging purposes, turn off when working properly.
debug_peer_list = journal.masked-domain.com

# (end of file)

I suspect the problem is with the postfix/master.cf file but I don't know where to begin. Can anyone help with configuration POSTFIX to properly check the virtual mailbox for users instead of using the local server users?

0

Found the issue. Saw this in the log:

Apr 19 07:18:34 journal postfix/trivial-rewrite[16893]: warning: do not list domain journal.masked-domain.com in BOTH mydestination and virtual_mailbox_domains

This log entry is referring to this directive in the postfix/main.cf:

mydestination =

We never defined it previously but apparently the version of postfix shipped with 16.04 now assumes the local hostname for mydestination. In our case 'journal.masked-domain.com' is our hostname and the virtual domain we are trying to service. It worked fine under 12.04 adn 14.04 but won't work for 16.04. Since we only use the virtual mailboxes we added this line to our postfix/main.cf file:

mydestination = localhost

and BINGO it's working again!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.