Frage Postfix: Empfängeradresse abgelehnt: Benutzer unbekannt in der lokalen Empfängertabelle


Wenn ich versuche, eine E-Mail auf meinem Postfix-Server an eine Adresse in derselben Domain zu senden (wenn der Server-Hostname beispielsweise mail.example.com lautet und ich versuche, eine E-Mail an test@example.com zu senden), erhalte ich die Folgefehler im Protokoll und die E-Mail wird nicht zugestellt: Recipient address rejected: User unknown in local recipient table. Wenn ich an eine Adresse in einer anderen Domain sende, habe ich keine Probleme. Hier ist meine /etc/postfix/main.cf Datei:

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
readme_directory = no
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
myhostname = mail.example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
#myorigin = /etc/mailname
myorigin = $mydomain
mydestination = $mydomain, localhost.$mydomain, localhost
relayhost =
#fake IP address
mynetworks = 127.0.0.0/8 100.837.191.223
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

25
2017-09-09 05:45


Ursprung




Antworten:


Ich weiß, dass diese Frage etwas alt ist, also gehe ich davon aus, dass sie bereits zufriedenstellend beantwortet wurde.

Ich hatte gerade das gleiche Problem, und ich brauchte eine Weile, um herauszufinden, was vor sich ging. Ich denke, meine Situation war die gleiche wie die ursprüngliche Frage.

Postfix sollte weiterleiten alles Mail an andere Server im Internet, es empfängt keine Mails für Domains. Daher sollte jede an example.com gesendete E-Mail an den E-Mail-Server für example.com weitergeleitet werden. Die Lösung, wie in techieb0y erklärt, besteht darin, $ mydomain aus der Zeile zu entfernen:

mydestination = $mydomain, localhost.$mydomain, localhost

Diese Zeile teilt Postfix mit, dass alle an $ mydomain gesendeten Nachrichten empfangen und gespeichert werden sollen diese Server. Das will ich nicht, ich möchte, dass diese Nachrichten an den eigentlichen Mailserver für example.com gesendet werden. Sobald ich das erkannt und example.com entfernt hatte, funktionierte Mail wie erwartet. Ich poste dies nur, weil diese Erklärung jemand anderem hilft, der in Zukunft auf diese Frage stößt.


36
2018-01-07 14:09



Das hat für mich funktioniert. Vielen Dank - David Okwii


Der Fehler ist ziemlich selbstbeschreibend: Der Ziel-E-Mail-Benutzername (links vom @ -Zeichen) kann keinem lokalen Benutzer auf dem System (Standard-Postfix-Einstellungen) oder einer virtuellen Domäne zugeordnet werden (da keine davon konfiguriert sind) Box). Die Entscheidung, ob diese Zuordnung durchgeführt werden soll, wird von der Liste der Domänen in 'MyDestination' (zuzüglich virtueller Domänen) gesteuert. Wenn dieser Computer tatsächlich der primäre MX einer Domäne ist, haben Benutzer, die nicht existieren, eine beschädigte Mail. Wenn diese Box nur ausgehende Nachrichten senden muss, genügt es, die Zieldomäne aus mydestination (durch Entfernen von $ mydomain aus der Liste) zu entfernen - sie akzeptiert weiterhin Nachrichten direkt für user@hostname.domain.tld, aber Nachrichten für Benutzer @ domain.tld durchläuft den MX-Lookup-Prozess zur Lieferung an anderer Stelle. Sie können den Vorgang abkürzen, indem Sie eine Transportmap (für einzelne Domänen) einrichten oder einen Smarthost (für alle E-Mails) konfigurieren.


15
2017-09-10 02:52



du hast mir den tag gerettet, ich bin verrückt geworden ... warum habe ich zwei benutzer für mich selbst, tstaerk und thorsten;) - Thorsten Staerk


Wenn Sie eine Nachricht an Ihre lokale Domäne senden, ist Postfix dafür verantwortlich, zu überprüfen, ob der Empfänger existiert. Wenn Sie eine E-Mail an eine andere Domain senden, hat postfix keine solche Verantwortung.

Sie müssen entweder einen lokalen Benutzer namens test haben

useradd -s /bin/bash -d /home/test -U test

oder Sie benötigen einen Alias ​​von test zu einem lokalen Benutzer in / etc / aliases

echo "test: root" >> /etc/aliases
postalias /etc/aliases

An Sie sollten alle eingestellt sein.


4
2017-09-09 08:52



Gibt es eine Möglichkeit, diese Überprüfung zu umgehen, so dass ich keinen Benutzer für jede Person erstellen muss, an die ich eine E-Mail senden möchte? Ich möchte diesen Server nicht als unseren primären Mail-Server verwenden, nur um ausgehende E-Mails von einer Anwendung zu senden, wenn Fehler auftreten. Ich möchte den Server nicht jedes Mal aktualisieren müssen, wenn ich einen neuen Empfänger für die Anwendungs-E-Mail hinzufügen möchte. - Tai Squared
Angenommen, Sie möchten eine E-Mail an "administrator@domainz.com" senden. Sie müssen lediglich sicherstellen, dass Ihr lokaler Postfix NICHT für "domainz.com" verantwortlich ist. Andernfalls wird versucht, den Benutzer lokal zu validieren. Setzen Sie die Direktive 'mydomain' auf etwas anderes, wie 'mydomain = local.server' und postfix sendet Ihre E-Mail an den Server, der für 'domainz.com' verantwortlich ist. - Julien Vehent


Ich habe ein ähnliches Problem und habe es noch nicht ganz begriffen, aber das sollte dich in die richtige Richtung lenken:

http://www.postfix.org/STANDARD_CONFIGURATION_README.html

Sehen Sie sich den Abschnitt "Postfix auf einem Null-Client" an - ich denke, das ist es, was Sie wollen. Ich habe auch versucht, local_recipient_maps so einzustellen, wie es auf der Website von postfix auf der Seite: LOCAL_RECIPIENT_README.html angegeben ist

Beide Links sollten tun, was wir hier wollen, aber ich kann sie nicht zur Arbeit bringen. Wenn ich das vollständige Null-Client-Setup ausführe, funktioniert der Versuch, Telnet zu verwenden, um eine SMTP-Test-E-Mail zu senden, nicht. Ich bekomme "Telnet: Verbindung zur Adresse 97.74.92.30: Verbindung verweigert". Beim Einstellen der lokalen Empfängerzuordnung gibt die Suche im RCPT TO: -Befehl keine Fehlermeldung wie zuvor, aber beim Senden der E-Mail (sieht normal aus) wird tatsächlich keine E-Mail gesendet und es gibt einen Fehler in der Maillog:

"550-Mailbox unbekannt. Entweder ist diesem 550-Namen keine Mailbox zugeordnet oder Sie haben keine Berechtigung, diese zu sehen. 550 5.1.1 Benutzer unbekannt"

Lass es mich wissen, wenn du mehr Glück hast.


1
2017-10-19 15:42