I am trying to set up postfix, but I get a "Temporary lookup failure" error


inet_protocols = ipv4
inet_interfaces = all

queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
data_directory = /var/lib/postfix
mail_owner = postfix

myhostname = ns0.dzervas.gr
mydomain = dzervas.gr
myorigin = dzervas.gr
mynetworks_style = host
mydestination = localhost, localhost.$mydomain, $myhostname, $mydomain, mail.$mydomain, www.$mydomain

virtual_mailbox_base = /var/mail/vhost
virtual_mailbox_maps = hash:/etc/postfix/vmailbox
virtual_minimum_uid = 1000
virtual_uid_maps = static:2000
virtual_gid_maps = static:2000
virtual_alias_maps = hash:/etc/postfix/valias

smtp_generic_maps = hash:/etc/postfix/generic


dzervas@dzervas.gr      dzervas.gr/dzervas
dna@dzervas.gr          dzervas.gr/dna
dzervas@ns0.dzervas.gr  ns0.dzervas.gr/dzervas


webmaster@dzervas.gr    dzervas@dzervas.gr
hostmaster@dzervas.gr   dzervas@dzervas.gr
postmaster@dzervas.gr   dzervas@dzervas.gr
#dzervas@ns0.dzervas.gr dzervas@dzervas.gr


dzervas@dzervas.gr      root

telnet testing:

Trying <ip>...
Connected to <ip>.
Escape character is '^]'.
220 ns0.dzervas.gr ESMTP Postfix
ehlo test.com
250-SIZE 10240000
250 DSN
mail from: testing@test.com
250 2.1.0 Ok
 rcpt to: dzervas@dzervas.gr
451 4.3.0 <dzervas@dzervas.gr>: Temporary lookup failure
221 2.0.0 Bye
Connection closed by foreign host.

journalctl reports:

May 09 15:09:22 ns0 postfix/smtpd[7754]: error: open database /etc/aliases.db: No such file or directory
May 09 15:09:22 ns0 postfix/smtpd[7754]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled
May 09 15:09:22 ns0 postfix/smtpd[7754]: connect from <client-ip>
May 09 15:09:43 ns0 postfix/smtpd[7754]: warning: hash:/etc/aliases is unavailable. open database /etc/aliases.db: No such file or directory
May 09 15:09:43 ns0 postfix/smtpd[7754]: warning: hash:/etc/aliases lookup error for "dzervas@dzervas.gr"
May 09 15:09:43 ns0 postfix/smtpd[7754]: NOQUEUE: reject: RCPT from <client-ip>: 451 4.3.0 <dzervas@dzervas.gr>: Temporary lookup failure; from=<testing@test.com> to=<dzervas@dzervas.gr> proto=ESMTP helo=<test.com>
May 09 15:09:52 ns0 postfix/smtpd[7754]: disconnect from <client-ip>

I should point out that I haven't set up the DNS records yet (dzervas.gr is not pointing my new server yet) Also I'm on arch linux x86_64

EDIT: I created an empty /etc/aliases and then newaliases new problem (in telnet):

rcpt to: dzervas@dzervas.gr
550 5.1.1 <dzervas@dzervas.gr>: Recipient address rejected: User unknown in local recipient table


rcpt to: root@localhost
250 2.1.5 Ok
354 End data with <CR><LF>.<CR><LF>
250 2.0.0 Ok: queued as <some-code>

EDIT 2: solved the Recipient address rejected: User unknown in local recipient table by setting local_recipient_maps = in main.cf However, now my mail to dzervas@dzervas.gr get queued! it does not go at /var/mail/vmail/dzervas.gr/dzervas/ as it should!

  • If you're looking to test a mailserver, a functioning DNS entry is a pretty fundamental piece. Postfix is looking to see if dzervas.gr is configured.. get your DNS working then test.
    – NickW
    May 9, 2013 at 12:20
  • ok, thank you. does the setup seems correct to you?
    – dzervas
    May 9, 2013 at 12:36
  • It's awfully simple, but it's a start.
    – NickW
    May 9, 2013 at 12:52

4 Answers 4


Run newaliases . If /etc/aliases doesn't exist then create it first, then run newaliases .
Also maybe update/add alias_maps = hash:/etc/aliases to /etc/postfix/main.cf to get rid of the other warning.
Then try again.
(If you test with telnet, you don't need working DNS).

2nd issue: First remove $myhostname, $mydomain, from mydestination, since virtual domains shouldn't be listed here.
Then add (to main.cf):


Reload postfix and try again.

  • 1
    You were right! I created an empty /etc/aliases and then newaliases. New problem arouse...
    – dzervas
    May 9, 2013 at 22:48
  • Edited my post . May 10, 2013 at 0:48
  • thank you soooo much! PS: I had to create and chown the /var/spool/mail/vmail/ directory (just for reference)
    – dzervas
    May 10, 2013 at 10:02
  • Fixed my problem after a server reboot running Sentora/zPanel panel, thanks.
    – Arvy
    Jul 24, 2019 at 18:25
  • thanks, issue solved in 2nd issue solution Sep 13, 2019 at 20:54

mynetworks needs strict network ranges

In my case, there was a wrong ip range in /etc/postfix/main.cf.

# Wrong; Temporary lookup failure
mynetworks =
# OK
mynetworks =

There was an error in /var/log/maillog that I noticed later.

Oct 4 13:47:54 postfix/smtpd[25056]: warning: non-null host address bits in "", perhaps you should use "" instead

If someone comes here from the top hit on google with searching Temporary lookup failure, I'd say please dubble-check your $mynetworks format.

  • 4
    Thnx, that was the solution to my problem. Also not OK:
    – f4der
    Jan 15, 2018 at 16:41
  • 3
    Also was my issue. is not OK either.
    – Rohn Adams
    Jun 26, 2019 at 15:12
  • 2
    This, is what got me.
    – zypA13510
    Dec 17, 2019 at 7:54
  • yes, this problem just bit me in the ass, and while searching for the solution after the fact, I came across this answer.
    – pdwalker
    Nov 26, 2020 at 6:17

My 5 cents:

I did changed main.conf, but I forgot to reload postfix.

after reload it worked.


If your main.cf contains a hash path like so:


(containing mydomain.tld OK)

...make sure to create the expected /etc/postfix/virtual_mailbox_domains.db using postmap virtual_mailbox_domains

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