[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