[Postfixbuch-users] virtual_alias_maps ist case-sensitive?
Sandy Drobic
postfixbuch-users at japantest.homelinux.com
So Okt 15 12:02:09 CEST 2006
Oliver Meißner-Knippschild wrote:
> Andreas Winkelmann wrote on Sat, 14 Oct 2006 20:10:32 +0200:
>> Am Wednesday 11 October 2006 08:13 schrieb Oliver Meißner-Knippschild:
>>
>>> die ich habe das Problem, dass wenn die lokale Zustellung (via
>>> Courier) an einen User stattfinden soll, der Großbuchstaben enthält
>>> die Zustellung mit dem Fehler "User unknown in loacal recipient
>>> table" scheitert.
>> Schreib genau was für maps Du benutzt. Zeig Deine Konfiguration
>> (postconf -n). Zeig Tests der Map mit "postmap -q".
>
> Aaalso... Konkret geht es um die Ablösung eines Novell-Systems. Es gibt
> also schon eine Menge von Usern in einer Menge von virtuellen Domains.
> Die Usernamen setzen sich aus einigen Buchstaben gefolgt von einigen
> Ziffern zusammen. Beispiel: D12345_67. Alle Buchstaben in allen
> Usernamen sind Großbuchstaben, wie im Beispiel zu erkennen ist. Und so
> haben es auch alle User in ihren MUAs eingetragen. Um nun die
> Umstellung auf Postfix so zu gestalten, dass der User nichts bei sich
> ändern muss hab ich ebenfalls alle User mit Großbuchstaben im System
> angelegt (useradd).
> Desweiteren greift in Postfix nun die relay_recipients_map, damit Mails
> an die entsprechenden User erstmal angenommen werden. Eine Zeile der
> relay_recipient_map sieht also so aus:
> mail at example.com D12345_67
Geprüft wird bei relay_recipient_maps nur, ob der Schlüssel VORHANDEN ist!
Der Wert auf der rechten Seite ist belanglos. Du könntest auch sagen:
mail at example.com existiert
oder
mail at example.com mail at example.com
Das ist beim Debuggen manchmail von Vorteil, wenn man als Ergebnis direkt
den Eingabewert zurückbekommt.
> Beim Einliefern einer Mail an mail at example.com verweigert Postfix die
> Annahme der Mail mit "User unknown in loacal recipient table".
local_recipient_maps für Domains in $mydestination,
relay_recipient_maps für Domains in $relay_domains.
> Ändere ich nun in der /etc/passwd alle Großbuchstaben des
> entsprechenden Benutzernamen in Kleinbuchstaben wird die Mail sofort
> von Postfix angenommen und korrekt von maildrop im Postfach des Users
> abgelegt. Es scheint also, dass Postfix alle lokalen Usernamen generell
> in lowercase konvertiert.
Welche Version von Postfix?
> Wenn nun aber ein User mit POP3 seine Mails abrufen möchte, muss er
> sich mit dem Benutzernamen d12345_67 anmelden. In seinem MUA ist
> allerdings D12345_67 eingetragen.
Hat nichts mit Postfix zu tun.
> Was SMTP-Auth und das Versenden von Mails seitens des Users angeht
> steht das bisher noch nicht zur Debatte.
Sehr gut, ein Problem nach dem anderen.
> # postconf -n
> alias_maps = hash:/etc/aliases
> biff = no
> canonical_maps = hash:/etc/postfix/canonical
> command_directory = /usr/sbin
> config_directory = /etc/postfix
> daemon_directory = /usr/lib/postfix
> debug_peer_level = 4
> defer_transports =
> disable_dns_lookups = no
> disable_mime_output_conversion = no
> html_directory = /usr/share/doc/packages/postfix/html
> inet_interfaces = 192.168.11.8 127.0.0.1
> inet_protocols = all
> local_transport = maildrop
> mail_owner = postfix
> mail_spool_directory = /var/mail
> mailbox_command =
> mailbox_size_limit = 0
> mailbox_transport =
> mailq_path = /usr/bin/mailq
> manpage_directory = /usr/share/man
> masquerade_classes = envelope_sender, header_sender, header_recipient
> masquerade_domains =
> masquerade_exceptions = root
> message_size_limit = 0
> mydestination = mail1.example.com
Hier ist also dein erstes Problem. Der Default für local_recipient_maps ist:
local_recipient_maps = proxy:unix:passwd.byname $alias_maps
Daher auch dein Problem mit den Klein-/Großbuchstaben.
Hole die User aus der passwd und ändere local_recipient_maps um.
Mache das am besten mit einem Script, welches du regelmäßig per Cron
startest, um gelöschte/hinzugekommene User zu berücksichtigen.
> myhostname = mail1.example.com
> mynetworks = 192.168.11.8/32 192.168.11.20/32
> newaliases_path = /usr/bin/newaliases
> queue_directory = /var/spool/postfix
> readme_directory = /usr/share/doc/packages/postfix/README_FILES
> relay_domains =
> relay_recipient_maps = hash:/etc/postfix/relay_recipients
Da du keine Relay_domains hast, kannst du diesen Eintrag auch leer lassen.
> relayhost =
> relocated_maps = hash:/etc/postfix/relocated
> sample_directory = /usr/share/doc/packages/postfix/samples
> sender_canonical_maps = hash:/etc/postfix/sender_canonical
> sendmail_path = /usr/sbin/sendmail
> setgid_group = vmail
> smtp_sasl_auth_enable = no
> smtp_use_tls = no
> smtpd_banner = $myhostname ESMTP
> smtpd_client_restrictions =
> smtpd_helo_required = yes
> smtpd_helo_restrictions =
> smtpd_recipient_restrictions = reject_non_fqdn_recipient
> reject_non_fqdn_sender
> reject_unknown_sender_domain
> reject_unknown_recipient_domain
> permit_mynetworks
> check_sender_access hash:/etc/postfix/relay_recipients
Das hier sollte eine andere hash-Tabelle sein, wo local_recipients drin
stehen.
Sandy
--
Antworten bitte nur in die Mailingliste!
PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com
Mehr Informationen über die Mailingliste Postfixbuch-users