web-dev-qa-db-ja.com

Postfix一時的な検索の失敗

Postfixを設定しようとしていますが、「一時的な検索エラー」エラーが発生します

main.cf:

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

vmailbox:

[email protected]      dzervas.gr/dzervas
[email protected]          dzervas.gr/dna
[email protected]  ns0.dzervas.gr/dzervas

バリアス:

[email protected]    [email protected]
[email protected]   [email protected]
[email protected]   [email protected]
#[email protected] [email protected]

ジェネリック:

[email protected]      root

telnetテスト:

Trying <ip>...
Connected to <ip>.
Escape character is '^]'.
220 ns0.dzervas.gr ESMTP Postfix
ehlo test.com
250-ns0.dzervas.gr
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from: [email protected]
250 2.1.0 Ok
 rcpt to: [email protected]
451 4.3.0 <[email protected]>: Temporary lookup failure
quit
221 2.0.0 Bye
Connection closed by foreign Host.

journalctlレポート:

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 "[email protected]"
May 09 15:09:43 ns0 postfix/smtpd[7754]: NOQUEUE: reject: RCPT from <client-ip>: 451 4.3.0 <[email protected]>: Temporary lookup failure; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<test.com>
May 09 15:09:52 ns0 postfix/smtpd[7754]: disconnect from <client-ip>

まだDNSレコードを設定していないことを指摘しておく必要があります(dzervas.grはまだ新しいサーバーを指していません)また、Arch Linux x86_64を使用しています

編集:空の/ etc/aliasesを作成し、次にnewaliases新しい問題(telnet内)を作成しました。

rcpt to: [email protected]
550 5.1.1 <[email protected]>: Recipient address rejected: User unknown in local recipient table

だが!:

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

編集2:main.cfでRecipient address rejected: User unknown in local recipient tableを設定することでlocal_recipient_maps =を解決しました。しかし、今や私の[email protected]へのメールはキューに入れられます! /var/mail/vmail/dzervas.gr/dzervas/にはありません。

15
dzervas

newaliasesを実行します。/etc/aliasesが存在しない場合は、最初に作成してから、newaliasesを実行します。
また、他の警告を取り除くために、//// fix/main.cfに_alias_maps = hash:/etc/aliases_を更新/追加することもできます。
その後、再試行してください。
(Telnetでテストする場合は、機能するDNSは必要ありません)。


2番目の問題:最初に_$myhostname, $mydomain,_をmydestinationから削除します。これは、仮想ドメインがここにリストされないためです。
次に追加します(main.cfに):

_virtual_mailbox_domains=dzervas.gr
_

Postfixをリロードして再試行してください。

5
Sandor Marton

mynetworksには厳密なネットワーク範囲が必要です

私の場合、/etc/postfix/main.cfに間違ったIP範囲がありました。

# Wrong; Temporary lookup failure
mynetworks = 172.16.0.0/8
# OK
mynetworks = 172.16.0.0/12

/var/log/maillogに後で気づいたエラーがありました。

Oct 4 13:47:54 postfix/smtpd [25056]:警告:「172.16.0.0/8」のnull以外のホストアドレスビット、おそらく「172.0.0.0/8」を代わりに使用する必要がある

誰かがTemporary lookup failureを検索してGoogleの上位ヒットからここに来た場合は、$mynetworksの形式を確認してください。

10
kujiy

私の5セント:

Main.confを変更しましたが、postfixをリロードするのを忘れました。

リロード後、それは機能しました。

0
Nick

main.cfに次のようなハッシュパスが含まれている場合:

virtual_mailbox_domains=hash:/etc/postfix/virtual_mailbox_domains

mydomain.tld OKを含む)

...必ず/etc/postfix/virtual_mailbox_domains.dbを使用して、予想されるpostmap virtual_mailbox_domainsを作成してください

0
Cees Timmerman