Der Catch-All funktioniert gut für vorhandene Postfächer, aber nicht für beliebige Postfächer. Was ist falsch?
Das Senden an ein nicht vorhandenes Postfach ergibt ( /etc/log/maillog
):
Dec 27 23:09:42 vps40198 postfix/smtpd[18623]: NOQUEUE: reject: RCPT from mail-oa0-f47.google.com[209.85.219.47]: 550 5.1.1 <[email protected]>: Recipient address rejected: User unknown in virtual mailbox table; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mail-oa0-f47.google.com>
Mein Mailserver befindet sich unter fake.tld
und random
ist der nicht vorhandene Benutzer.
Dies sind die relevanten /etc/postfix/*.cf
Dateien:
#mysql-domains.cf
host = localhost
user = postfix
password = xxxx
dbname = postfix
query = SELECT 1 FROM domain WHERE domain = '%s'
#mysql-email2email.cf
host = localhost
user = postfix
password = xxxx
dbname = postfix
query = SELECT username FROM user WHERE username = '%s'
#mysql-forwards.cf
host = localhost
user = postfix
password = xxxx
dbname = postfix
query = SELECT dst FROM forward WHERE src = '%s'
#mysql-mailboxes.cf
host = localhost
user = postfix
password = xxxx
dbname = postfix
query = SELECT CONCAT(SUBSTRING_INDEX(username,'@',-1),'/mail/',username,'/') FROM user WHERE username = '%s'
Die Domäne für den Benutzer ist in der Datenbank vorhanden.
Was ist falsch?
BEARBEITEN:
Ich nehme an, es benötigt ein Verzeichnis, in dem die E-Mails gespeichert werden können. Wie kann ich die E-Mails umleiten, ohne sie auf der Festplatte zu speichern?
Antwort1
Offenbar habe ich virtual_mailbox_alias_maps statt virtual_alias_maps verwendet. Ersteres existiert nicht, aber Postfix hat sich nicht beschwert. Keine Ahnung, wie das passiert ist, vielleicht eine fehlerhafte Anleitung oder mein eigener Tippfehler.