Postfix/MySQL: Unknown User Error

5,110

Solution 1

Isn't Answer in the log above? "warning: do not list domain jonah.name in BOTH mydestination and virtual_mailbox_domains"

Edit :

Try "mydestination = localhost"

"mydestination : The list of domains that are delivered via the $local_transport mail delivery transport." ie postfix tried to find a real user called jonah. According to your setup, you want user jonah to be virtual, so jonah.name must not be part of mydestination (I agree, it's tricky).

Solution 2

It looks like the sender is greylisted, if the sender retry after about 300 seconds it is supposed to pass. You can also disable the greylisting.

Share:
5,110

Related videos on Youtube

Jonah
Author by

Jonah

A web developer who's server side technology of choice is the LAMP stack. I've come quite a way in computer stuff in the past four years, and have learned the likes of HTML, Javascript, PHP, Ruby, Python, Java, and a bit of bash scripting. Linux is my primary operating system, and I have a really big computer that I assembled myself. Some OSS projects I'm working on: Skeleton Framework CryoBB

Updated on September 18, 2022

Comments

  • Jonah
    Jonah almost 2 years

    I just followed this excellent tutorial on setting up a mail server with Postfix/Dovecot/etc.

    I got through it, and I can send email just fine. The domain I'm using is jonah.name. However, I cannot receive emails from external emails or other internal mailboxes. If I try to send an email to a user in it, I get a "Undelivered Mail Returned to Sender" email back, telling me that the user is unknown. This is what comes up in /var/log/mail.log:

    Aug 17 21:31:27 localhost postfix/smtpd[810]: connect from gateway09.websitewelcome.com[69.93.179.27]
    Aug 17 21:31:28 localhost postfix/trivial-rewrite[816]: warning: do not list domain jonah.name in BOTH mydestination and virtual_mailbox_domains
    Aug 17 21:31:28 localhost postgrey[27058]: action=pass, reason=triplet found, client_name=gateway09.websitewelcome.com, client_address=69.93.179.27, [email protected], [email protected]
    Aug 17 21:31:28 localhost postfix/smtpd[810]: 79B1D38947: client=gateway09.websitewelcome.com[69.93.179.27]
    Aug 17 21:31:28 localhost postfix/cleanup[819]: 79B1D38947: message-id=<[email protected]>
    Aug 17 21:31:28 localhost postfix/qmgr[732]: 79B1D38947: from=<[email protected]>, size=1634, nrcpt=1 (queue active)
    Aug 17 21:31:28 localhost postfix/smtpd[810]: disconnect from gateway09.websitewelcome.com[69.93.179.27]
    Aug 17 21:31:30 localhost postfix/smtpd[826]: connect from remotebox[127.0.0.1]
    Aug 17 21:31:30 localhost postfix/trivial-rewrite[816]: warning: do not list domain jonah.name in BOTH mydestination and virtual_mailbox_domains
    Aug 17 21:31:30 localhost postfix/smtpd[826]: 622BF3894A: client=remotebox[127.0.0.1]
    Aug 17 21:31:30 localhost postfix/cleanup[819]: 622BF3894A: message-id=<[email protected]>
    Aug 17 21:31:30 localhost postfix/smtpd[826]: disconnect from remotebox[127.0.0.1]
    Aug 17 21:31:30 localhost postfix/qmgr[732]: 622BF3894A: from=<[email protected]>, size=2050, nrcpt=1 (queue active)
    Aug 17 21:31:30 localhost postfix/trivial-rewrite[816]: warning: do not list domain jonah.name in BOTH mydestination and virtual_mailbox_domains
    Aug 17 21:31:30 localhost amavis[30938]: (30938-10) Passed CLEAN, [69.93.179.27] <[email protected]> -> <[email protected]>, Message-ID: <[email protected]>, mail_id: jbjlO+jljnPM, Hits: -0.001, size: 1634, queued_as: 622BF3894A, 1855 ms
    Aug 17 21:31:30 localhost postfix/smtp[821]: 79B1D38947: to=<[email protected]>, relay=127.0.0.1[127.0.0.1]:10024, delay=2.3, delays=0.41/0.01/0/1.9, dsn=2.0.0, status=sent (250 2.0.0 from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as 622BF3894A)
    Aug 17 21:31:30 localhost postfix/qmgr[732]: 79B1D38947: removed
    Aug 17 21:31:30 localhost postfix/local[827]: 622BF3894A: to=<[email protected]>, relay=local, delay=0.02, delays=0/0.01/0/0.01, dsn=5.1.1, status=bounced (unknown user: "jonah")
    Aug 17 21:31:30 localhost postfix/cleanup[819]: 65CAF38953: message-id=<[email protected]>
    Aug 17 21:31:30 localhost postfix/bounce[828]: 622BF3894A: sender non-delivery notification: 65CAF38953
    Aug 17 21:31:30 localhost postfix/qmgr[732]: 65CAF38953: from=<>, size=3832, nrcpt=1 (queue active)
    Aug 17 21:31:30 localhost postfix/qmgr[732]: 622BF3894A: removed
    Aug 17 21:31:30 localhost postfix/smtp[829]: 65CAF38953: to=<[email protected]>, relay=mail.nucleussystems.com[50.116.72.68]:25, delay=0.46, delays=0/0.01/0.33/0.11, dsn=2.0.0, status=sent (250 OK id=1T2U8g-0008VP-Qb)
    Aug 17 21:31:30 localhost postfix/qmgr[732]: 65CAF38953: removed
    

    The log confirms (line 18) that the user is "unknown". I re-double-checked all of the configuration files that connect to MySQL, but I couldn't find any flaws. Here are the MySQL virtual configuration files:

    # /etc/postfix/mysql_virtual_alias_domainaliases_maps.cf
    
    user = mail
    password = **password**
    hosts = 127.0.0.1
    dbname = mail
    query = SELECT goto FROM alias,alias_domain
      WHERE alias_domain.alias_domain = '%d'
      AND alias.address=concat('%u', '@', alias_domain.target_domain)
      AND alias.active = 1
    
    # /etc/postfix/mysql_virtual_alias_maps.cf
    
    user = mail
    password = **password**
    hosts = 127.0.0.1
    dbname = mail
    table = alias
    select_field = goto
    where_field = address
    additional_conditions = and active = '1'
    
    # /etc/postfix/mysql_virtual_domain_maps.cf
    
    user = mail
    password = **password**
    hosts = 127.0.0.1
    dbname = mail
    table = domain
    select_field = domain
    where_field = domain
    additional_conditions = and backupmx = '0' and active = '1'
    
    # /etc/postfix/mysql_virtual_mailbox_domainaliases_maps.cf
    
    user = mail
    password = **password**
    hosts = 127.0.0.1
    dbname = mail
    query = SELECT maildir FROM mailbox, alias_domain
      WHERE alias_domain.alias_domain = '%d'
      AND mailbox.username=concat('%u', '@', alias_domain.target_domain )
      AND mailbox.active = 1
    
    # /etc/postfix/mysql_virtual_mailbox_maps.cf
    
    user = mail
    password = **password**
    hosts = 127.0.0.1
    dbname = mail
    table = mailbox
    select_field = CONCAT(domain, '/', local_part)
    where_field = username
    additional_conditions = and active = '1'
    
  • Jonah
    Jonah almost 12 years
    Thanks @Alex, I disabled greylisting and I updated the error log. It says the user is unknown, so I guess there's an issue connecting to MySQL.
  • Tr4p
    Tr4p almost 12 years
    Sorry can't help much, I'm also using postfix/dovecot/greylist etc but not in virtual mode!
  • Jonah
    Jonah almost 12 years
    Okay, thanks anyway Alex. At least I'm getting closer, I know it's a problem with accessing the user list.
  • Admin
    Admin almost 12 years
    try "mydestination = localhost"
  • Jonah
    Jonah almost 12 years
    THAT FIXED IT!!!!!! You, sir, are a boss.
  • Jonah
    Jonah almost 12 years
    So why is that? What does the mydestination directive do that it would cause that problem?
  • Admin
    Admin almost 12 years
    When you commented out the mydestination line, it falled back on default value, which is likely to include jonah.name
  • Jonah
    Jonah almost 12 years
    But why does having jonah.name mess it up? What action is using that that must have localhost?
  • Admin
    Admin almost 12 years
    "mydestination : The list of domains that are delivered via the $local_transport mail delivery transport." ie postfix tried to find a real user called jonah. According to your setup, you want user jonah to be virtual, so jonah.name must not be part of mydestination (I agree, it's tricky).
  • Jonah
    Jonah almost 12 years
    Great, thank you. My first time setting up a mail server, I'm pretty happy. 14 hours later, here I am! :) You could just make your own edit?