[OS 10.3] Maildrop liefert nur an mbox anstatt maildir aus.
Hallo und guten Morgen, habe ein kleines großes Maildrop Problem. Postfix ist mit virtuellen Mailboxen konfiguriert und als Transport ist maildrop vorgesehen. Postfix scheint auch alles wunschgemäß an den MDA weiterzugeben, maildrop erkennt auch brav, dass es sich um maildirs handelt, jedcoh springt er komischer weise mitten in der Bearbeitung wieder ins mbox "format". Hier das Log eines maildrop -V 5 -d test@domain.com <testmail.txt maildrop: authlib: groupid=500 maildrop: authlib: userid=500 maildrop: authlib: logname=test@domain.com, home=/var/webmail/domain.com/test, mail=(default) maildrop: Changing to /var/webmail/domain.com/test Message start at 0 bytes, envelope sender=test@domain.com /etc/maildroprc(1): MAILDIR="/var/webmail/domain.com/test/" /etc/maildroprc(2): LOGFILE="/tmp/maildrop.log" maildrop: Attempting .mailfilter maildrop: Delivering to /var/mail/test@domain.com maildrop: Flock()ing /var/mail/test@domain.com. maildrop: Appending to /var/mail/test@domain.com. maildrop: Delivery complete. user und groupid 500 gehören "webmail.webmail", maildirs gehören auch diesem user. ein logfile wird übrigens auch nicht angelegt.... vielleicht hat jemand eine idee, zumal der ein oder andere User auf Linuxforen.de auch schon einmal mit OS 10.3 dieses Problem hatte. Danke! Grüße Andreas -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Andreas Jutzy wrote:
Hallo und guten Morgen,
habe ein kleines großes Maildrop Problem. Postfix ist mit virtuellen Mailboxen konfiguriert und als Transport ist maildrop vorgesehen. Postfix scheint auch alles wunschgemäß an den MDA weiterzugeben, maildrop erkennt auch brav, dass es sich um maildirs handelt, jedcoh springt er komischer weise mitten in der Bearbeitung wieder ins mbox "format".
Hier das Log eines maildrop -V 5 -d test@domain.com <testmail.txt
maildrop: authlib: groupid=500 maildrop: authlib: userid=500 maildrop: authlib: logname=test@domain.com, home=/var/webmail/domain.com/test, mail=(default) maildrop: Changing to /var/webmail/domain.com/test Message start at 0 bytes, envelope sender=test@domain.com /etc/maildroprc(1): MAILDIR="/var/webmail/domain.com/test/" /etc/maildroprc(2): LOGFILE="/tmp/maildrop.log" maildrop: Attempting .mailfilter maildrop: Delivering to /var/mail/test@domain.com maildrop: Flock()ing /var/mail/test@domain.com. maildrop: Appending to /var/mail/test@domain.com. maildrop: Delivery complete.
"postconf home_mailbox" sagt was? home_mailbox (default: empty) Optional pathname of a mailbox file relative to a local(8) user's home directory. Specify a pathname ending in "/" for qmail-style delivery. The precedence of local(8) delivery features from high to low is: aliases, .forward files, mailbox_transport_maps, mailbox_transport, mailbox_command_maps, mailbox_command, home_mailbox, mail_spool_directory, fallback_transport_maps, fallback_transport and luser_relay. Examples: home_mailbox = Mailbox home_mailbox = Maildir/ -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Sandy, den Parameter home_mailbox habe ich bewusst leer gelassen, da er meiner Information nach nur für lokale mailboxen zuständig ist. ich habe lediglich virtuelle mailboxen. die precedence der man-page sagt auch nichts über die virtuellen parameter aus.... ich habe stattdessen virtual_mailbox_base = /var/webmail/domain.com gesetzt. nichts desto weniger habe ich home_mailbox mal gesetzt, leider selbes ergebnis. Viele Grüße Andreas Sandy Drobic schrieb:
Andreas Jutzy wrote:
Hallo und guten Morgen,
habe ein kleines großes Maildrop Problem. Postfix ist mit virtuellen Mailboxen konfiguriert und als Transport ist maildrop vorgesehen. Postfix scheint auch alles wunschgemäß an den MDA weiterzugeben, maildrop erkennt auch brav, dass es sich um maildirs handelt, jedcoh springt er komischer weise mitten in der Bearbeitung wieder ins mbox "format".
Hier das Log eines maildrop -V 5 -d test@domain.com <testmail.txt
maildrop: authlib: groupid=500 maildrop: authlib: userid=500 maildrop: authlib: logname=test@domain.com, home=/var/webmail/domain.com/test, mail=(default) maildrop: Changing to /var/webmail/domain.com/test Message start at 0 bytes, envelope sender=test@domain.com /etc/maildroprc(1): MAILDIR="/var/webmail/domain.com/test/" /etc/maildroprc(2): LOGFILE="/tmp/maildrop.log" maildrop: Attempting .mailfilter maildrop: Delivering to /var/mail/test@domain.com maildrop: Flock()ing /var/mail/test@domain.com. maildrop: Appending to /var/mail/test@domain.com. maildrop: Delivery complete.
"postconf home_mailbox" sagt was?
home_mailbox (default: empty)
Optional pathname of a mailbox file relative to a local(8) user's home directory.
Specify a pathname ending in "/" for qmail-style delivery.
The precedence of local(8) delivery features from high to low is: aliases, .forward files, mailbox_transport_maps, mailbox_transport, mailbox_command_maps, mailbox_command, home_mailbox, mail_spool_directory, fallback_transport_maps, fallback_transport and luser_relay.
Examples:
home_mailbox = Mailbox home_mailbox = Maildir/
-- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Andreas Jutzy wrote:
Hallo Sandy,
den Parameter home_mailbox habe ich bewusst leer gelassen, da er meiner Information nach nur für lokale mailboxen zuständig ist. ich habe lediglich virtuelle mailboxen. die precedence der man-page sagt auch nichts über die virtuellen parameter aus.... ich habe stattdessen
virtual_mailbox_base = /var/webmail/domain.com
gesetzt.
nichts desto weniger habe ich home_mailbox mal gesetzt, leider selbes ergebnis.
home_mailbox greift nur für Domains in mydestination. Zeige besser mal "postconf -n". Wenn du an Maildrop übergibst, sollte der Pfad mit einem "/" enden, ansonsten wird wie bei dir an eine mbox übergeben. PS: Bitte kein Top-Posting. -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Sandy Drobic schrieb:
Andreas Jutzy wrote:
Hallo Sandy,
den Parameter home_mailbox habe ich bewusst leer gelassen, da er meiner Information nach nur für lokale mailboxen zuständig ist. ich habe lediglich virtuelle mailboxen. die precedence der man-page sagt auch nichts über die virtuellen parameter aus.... ich habe stattdessen
virtual_mailbox_base = /var/webmail/domain.com
gesetzt.
nichts desto weniger habe ich home_mailbox mal gesetzt, leider selbes ergebnis.
home_mailbox greift nur für Domains in mydestination. Zeige besser mal "postconf -n". Wenn du an Maildrop übergibst, sollte der Pfad mit einem "/" enden, ansonsten wird wie bei dir an eine mbox übergeben.
PS: Bitte kein Top-Posting.
"postconf -n" alias_maps = hash:/etc/postfix/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 = 3 defer_transports = disable_dns_lookups = no disable_mime_output_conversion = no html_directory = /usr/share/doc/packages/postfix/html inet_interfaces = localhost inet_protocols = all local_recipient_maps = unix:passwd.byname $alias_maps 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 = 10240000 mydestination = $myhostname, localhost.$mydomain myhostname = mail.domain.com mynetworks_style = subnet newaliases_path = /usr/bin/newaliases queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/packages/postfix/README_FILES 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 = maildrop smtp_sasl_auth_enable = no smtp_use_tls = no smtpd_client_restrictions = smtpd_helo_required = no smtpd_helo_restrictions = smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination smtpd_sasl_auth_enable = no smtpd_sender_restrictions = hash:/etc/postfix/access smtpd_use_tls = no soft_bounce = yes strict_8bitmime = no strict_rfc821_envelopes = no transport_maps = hash:/etc/postfix/transport unknown_local_recipient_reject_code = 550 virtual_mailbox_base = /var/mail/domain.com virtual_mailbox_domains = domain.com virtual_mailbox_maps = mysql:/etc/postfix/vmailboxsql.cf virtual_minimum_uid = 100 virtual_transport = maildrop virtual_uid_maps = static:500 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Andreas Jutzy wrote:
Sandy Drobic schrieb:
Andreas Jutzy wrote:
Hallo Sandy,
den Parameter home_mailbox habe ich bewusst leer gelassen, da er meiner Information nach nur für lokale mailboxen zuständig ist. ich habe lediglich virtuelle mailboxen. die precedence der man-page sagt auch nichts über die virtuellen parameter aus.... ich habe stattdessen
virtual_mailbox_base = /var/webmail/domain.com
gesetzt.
nichts desto weniger habe ich home_mailbox mal gesetzt, leider selbes ergebnis.
home_mailbox greift nur für Domains in mydestination. Zeige besser mal "postconf -n". Wenn du an Maildrop übergibst, sollte der Pfad mit einem "/" enden, ansonsten wird wie bei dir an eine mbox übergeben.
PS: Bitte kein Top-Posting.
"postconf -n"
alias_maps = hash:/etc/postfix/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 = 3 defer_transports = disable_dns_lookups = no disable_mime_output_conversion = no html_directory = /usr/share/doc/packages/postfix/html inet_interfaces = localhost inet_protocols = all local_recipient_maps = unix:passwd.byname $alias_maps 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 = 10240000 mydestination = $myhostname, localhost.$mydomain myhostname = mail.domain.com
Bitte beachte, dass dein Server mails für user@mail.domain.com annimmt! Dies gilt zum Beispiel für lpd@mail.domain.com, aber auch für root, lpd, wwwrun, uucp usw. Wenn das nicht erwünscht ist, ändere $mydestination auf einen leeren Wert: mydestination= Für Anonymisierung nimm besser mail.example.com, die Domain "domain.com" existiert, example.com ist für Dokuzwecke vorgesehen. (^-^)
mynetworks_style = subnet newaliases_path = /usr/bin/newaliases queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/packages/postfix/README_FILES 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 = maildrop smtp_sasl_auth_enable = no smtp_use_tls = no smtpd_client_restrictions = smtpd_helo_required = no smtpd_helo_restrictions = smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination smtpd_sasl_auth_enable = no smtpd_sender_restrictions = hash:/etc/postfix/access smtpd_use_tls = no soft_bounce = yes
Bisher scheint dies ein Server ohne jede Optimierung zu sein. Ich nehme an, dass dieser Server noch nicht produktiv am Internet hängt?
strict_8bitmime = no strict_rfc821_envelopes = no transport_maps = hash:/etc/postfix/transport unknown_local_recipient_reject_code = 550 virtual_mailbox_base = /var/mail/domain.com virtual_mailbox_domains = domain.com virtual_mailbox_maps = mysql:/etc/postfix/vmailboxsql.cf
Was sagt "postmap test@domain.com mysql:/etc/postfix/vmailboxsql.cf"?
virtual_minimum_uid = 100 virtual_transport = maildrop virtual_uid_maps = static:500
-- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Sandy Drobic schrieb:
Andreas Jutzy wrote:
Sandy Drobic schrieb:
Andreas Jutzy wrote:
Hallo Sandy,
den Parameter home_mailbox habe ich bewusst leer gelassen, da er meiner Information nach nur für lokale mailboxen zuständig ist. ich habe lediglich virtuelle mailboxen. die precedence der man-page sagt auch nichts über die virtuellen parameter aus.... ich habe stattdessen
virtual_mailbox_base = /var/webmail/domain.com
gesetzt.
nichts desto weniger habe ich home_mailbox mal gesetzt, leider selbes ergebnis.
home_mailbox greift nur für Domains in mydestination. Zeige besser mal "postconf -n". Wenn du an Maildrop übergibst, sollte der Pfad mit einem "/" enden, ansonsten wird wie bei dir an eine mbox übergeben.
PS: Bitte kein Top-Posting.
"postconf -n"
alias_maps = hash:/etc/postfix/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 = 3 defer_transports = disable_dns_lookups = no disable_mime_output_conversion = no html_directory = /usr/share/doc/packages/postfix/html inet_interfaces = localhost inet_protocols = all local_recipient_maps = unix:passwd.byname $alias_maps 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 = 10240000 mydestination = $myhostname, localhost.$mydomain myhostname = mail.domain.com
Bitte beachte, dass dein Server mails für user@mail.domain.com annimmt! Dies gilt zum Beispiel für lpd@mail.domain.com, aber auch für root, lpd, wwwrun, uucp usw.
Wenn das nicht erwünscht ist, ändere $mydestination auf einen leeren Wert: mydestination=
Für Anonymisierung nimm besser mail.example.com, die Domain "domain.com" existiert, example.com ist für Dokuzwecke vorgesehen. (^-^)
mynetworks_style = subnet newaliases_path = /usr/bin/newaliases queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/packages/postfix/README_FILES 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 = maildrop smtp_sasl_auth_enable = no smtp_use_tls = no smtpd_client_restrictions = smtpd_helo_required = no smtpd_helo_restrictions = smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination smtpd_sasl_auth_enable = no smtpd_sender_restrictions = hash:/etc/postfix/access smtpd_use_tls = no soft_bounce = yes
Bisher scheint dies ein Server ohne jede Optimierung zu sein. Ich nehme an, dass dieser Server noch nicht produktiv am Internet hängt?
strict_8bitmime = no strict_rfc821_envelopes = no transport_maps = hash:/etc/postfix/transport unknown_local_recipient_reject_code = 550 virtual_mailbox_base = /var/mail/domain.com virtual_mailbox_domains = domain.com virtual_mailbox_maps = mysql:/etc/postfix/vmailboxsql.cf
Was sagt "postmap test@domain.com mysql:/etc/postfix/vmailboxsql.cf"?
virtual_minimum_uid = 100 virtual_transport = maildrop virtual_uid_maps = static:500
Der Server hängt bisher als reiner Testrechner in einem internen LAN, sobald die Maildrop Probleme beseitigt sind, wird fertig konfiguriert. "postmap -q test@example.com mysql:/etc/postfix/vmailboxsql.cf" liefert "/var/webmail/example.com/test/" Mal noch eine Zwischenfrage, wenn ich wie in der Ausgangsmail erwähnt Maildrop direkt ohne Postfix aufrufe, dann gehts doch schon schief... Also sollte Postfix doch dort seine Finger noch nicht im Spiel haben. Ich vermutete den courier-authdaemon als Fehler, aber dessen SQL Abfragen liefern auch o.g. Home zurück... . Danke ;) -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Andreas Jutzy wrote:
"postmap -q test@example.com mysql:/etc/postfix/vmailboxsql.cf" liefert "/var/webmail/example.com/test/"
Mal noch eine Zwischenfrage, wenn ich wie in der Ausgangsmail erwähnt Maildrop direkt ohne Postfix aufrufe, dann gehts doch schon schief... Also sollte Postfix doch dort seine Finger noch nicht im Spiel haben. Ich vermutete den courier-authdaemon als Fehler, aber dessen SQL Abfragen liefern auch o.g. Home zurück...
Nein, denn der "To" Ausdruck in maildropfilter wird als mbox gewertet, da er anscheinend keinen "/" am Schluß hat. to - deliver message to a mailbox to expression Otherwise, expression names the mailbox where maildrop delivers the message. If expression is a directory, maildrop assumes that the directory is a maildir directory. Otherwise, maildrop will deliver the message to a file, formatted in traditional mailbox format. maildrop will use either dot-locking, or flock()-locking when delivering the message to the file.
maildrop: authlib: logname=test@domain.com, home=/var/webmail/domain.com/test, mail=(default) maildrop: Changing to /var/webmail/domain.com/test
Bis hierhin ist noch alles in Ordnung, home sollte auch ein "/" am Ende haben. Aber dann...
Message start at 0 bytes, envelope sender=test@domain.com /etc/maildroprc(1): MAILDIR="/var/webmail/domain.com/test/" /etc/maildroprc(2): LOGFILE="/tmp/maildrop.log" maildrop: Attempting .mailfilter maildrop: Delivering to /var/mail/test@domain.com
geht er plötzlich nach /var/mail wieder rein. Was steht denn in der maildirfilter drin, wohin er ausliefern soll? -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Sandy Drobic schrieb:
Andreas Jutzy wrote:
"postmap -q test@example.com mysql:/etc/postfix/vmailboxsql.cf" liefert "/var/webmail/example.com/test/"
Mal noch eine Zwischenfrage, wenn ich wie in der Ausgangsmail erwähnt Maildrop direkt ohne Postfix aufrufe, dann gehts doch schon schief... Also sollte Postfix doch dort seine Finger noch nicht im Spiel haben. Ich vermutete den courier-authdaemon als Fehler, aber dessen SQL Abfragen liefern auch o.g. Home zurück...
Nein, denn der "To" Ausdruck in maildropfilter wird als mbox gewertet, da er anscheinend keinen "/" am Schluß hat.
to - deliver message to a mailbox
to expression
Otherwise, expression names the mailbox where maildrop delivers the message. If expression is a directory, maildrop assumes that the directory is a maildir directory. Otherwise, maildrop will deliver the message to a file, formatted in traditional mailbox format. maildrop will use either dot-locking, or flock()-locking when delivering the message to the file.
maildrop: authlib: logname=test@domain.com, home=/var/webmail/domain.com/test, mail=(default) maildrop: Changing to /var/webmail/domain.com/test
Bis hierhin ist noch alles in Ordnung, home sollte auch ein "/" am Ende haben. Aber dann...
Habe authmysqlrc mal entsprechend angepasst, sodass "home=/var/webmail/domain.com/test/" ist. (ohne Ergebnis)
Message start at 0 bytes, envelope sender=test@domain.com /etc/maildroprc(1): MAILDIR="/var/webmail/domain.com/test/" /etc/maildroprc(2): LOGFILE="/tmp/maildrop.log" maildrop: Attempting .mailfilter maildrop: Delivering to /var/mail/test@domain.com
geht er plötzlich nach /var/mail wieder rein. Was steht denn in der maildirfilter drin, wohin er ausliefern soll?
Die ".mailfilter" existiert nicht. Wenn ich eine Datei anlege, wird die korrekt abgearbeitet und anschließend dennoch eine mbox angelegt.... Oder meinst du die standard "/etc/maildroprc"? Letztere: MAILDIR = "$HOME/Maildir/" `test -d "$MAILDIR"` if ($RETURNCODE != 0) { `mkdir -p $MAILDIR` `rmdir $MAILDIR` `maildirmake $MAILDIR` } logfile "/var/mail/maildroprc.log" #EOF Bei genauerer Betrachtung scheint mir hier das von Dir erwähnte TO zu fehlen! Werde ich sofort morgen früh ausprobieren, aber das müsste es eigentlich sein... WIeso ging ich den ganzen Tag davon aus, dass Maildrop das $home aus authlib übernimmt? Hm. Grüße Andreas -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Andreas Jutzy wrote:
geht er plötzlich nach /var/mail wieder rein. Was steht denn in der maildirfilter drin, wohin er ausliefern soll?
Die ".mailfilter" existiert nicht. Wenn ich eine Datei anlege, wird die korrekt abgearbeitet und anschließend dennoch eine mbox angelegt.... Oder meinst du die standard "/etc/maildroprc"?
Yepp, die meinte ich. Letztere:
MAILDIR = "$HOME/Maildir/" `test -d "$MAILDIR"`
if ($RETURNCODE != 0) { `mkdir -p $MAILDIR` `rmdir $MAILDIR` `maildirmake $MAILDIR` }
logfile "/var/mail/maildroprc.log" #EOF
Bei genauerer Betrachtung scheint mir hier das von Dir erwähnte TO zu fehlen! Werde ich sofort morgen früh ausprobieren, aber das müsste es eigentlich sein... WIeso ging ich den ganzen Tag davon aus, dass Maildrop das $home aus authlib übernimmt? Hm.
Vermutlich nimmt Maildrop einen Defaultwert, wenn kein expliziter Wert angegeben ist. Das dürfte das Problem sein. Die Doku (lediglich man pages) fand ich nicht so berauschend. -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Sandy Drobic schrieb:
Andreas Jutzy wrote:
geht er plötzlich nach /var/mail wieder rein. Was steht denn in der maildirfilter drin, wohin er ausliefern soll?
Die ".mailfilter" existiert nicht. Wenn ich eine Datei anlege, wird die korrekt abgearbeitet und anschließend dennoch eine mbox angelegt.... Oder meinst du die standard "/etc/maildroprc"?
Yepp, die meinte ich.
Letztere:
MAILDIR = "$HOME/Maildir/" `test -d "$MAILDIR"`
if ($RETURNCODE != 0) { `mkdir -p $MAILDIR` `rmdir $MAILDIR` `maildirmake $MAILDIR` }
logfile "/var/mail/maildroprc.log" #EOF
Bei genauerer Betrachtung scheint mir hier das von Dir erwähnte TO zu fehlen! Werde ich sofort morgen früh ausprobieren, aber das müsste es eigentlich sein... WIeso ging ich den ganzen Tag davon aus, dass Maildrop das $home aus authlib übernimmt? Hm.
Vermutlich nimmt Maildrop einen Defaultwert, wenn kein expliziter Wert angegeben ist. Das dürfte das Problem sein.
Die Doku (lediglich man pages) fand ich nicht so berauschend.
Es lag tatsächlich an der expliziten Angabe von TO. Interessant an dieser Stelle ist, dass eine auf BSD laufende maildrop 2.0.0 genau dies nicht benötigt... Nun ja, Problem gelöst, ich bin fröhlich und besten Dank an dieser Stelle :o) Tschau Andreas -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo zusammen, im Zuge meiner Tests mit einem Postfix System und virtuellen Mailboxen ist mir noch ein Problem eingefallen. Ich habe eine virtual_alias_map in einer Datenbank sowie eine (lokale) alias_map in einer Datei (/etc/aliases). Wenn ich mir als root eine email an root senden will, macht postfix logischer weise root@example.com als Absender/Empfänger daraus ($myorigin), und will anschließend den ailas root@example.com in der datenbank einsehen. Gibt es nicht, dann schaut er nach ob es die virtuelle Mailbox gibt, gibt es auch nicht, dann lehnt er mit "invailid user" die mail ab. hier mal ein postconf -n: alias_maps = hash:/etc/aliases biff = no broken_sasl_auth_clients = yes canonical_maps = hash:/etc/postfix/canonical command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/lib/postfix debug_peer_level = 3 defer_transports = disable_dns_lookups = no disable_mime_output_conversion = no disable_vrfy_command = yes html_directory = /usr/share/doc/packages/postfix/html inet_interfaces = all inet_protocols = all local_recipient_maps = unix:passwd.byname $alias_maps 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 = 10240000 mydestination = $myhostname myhostname = mail.example.com mynetworks = 127.0.0.0/8 mynetworks_style = subnet myorigin = example.com newaliases_path = /usr/bin/newaliases queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/packages/postfix/README_FILES 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 = maildrop smtp_sasl_auth_enable = no smtp_use_tls = no smtpd_banner = $myhostname ESMTP $mail_name smtpd_client_restrictions = permit_mynetworks smtpd_helo_required = no smtpd_helo_restrictions = smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination,permit_sasl_authenticated smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = smtpd_sasl_security_options = noanonymous smtpd_sender_restrictions = hash:/etc/postfix/access smtpd_use_tls = no soft_bounce = yes strict_8bitmime = no strict_rfc821_envelopes = no transport_maps = hash:/etc/postfix/transport unknown_local_recipient_reject_code = 550 virtual_alias_maps = mysql:/etc/postfix/valiasessql.cf virtual_mailbox_base = /var/mail/example.com/ virtual_mailbox_domains = example.com virtual_mailbox_maps = mysql:/etc/postfix/vmailboxsql.cf virtual_minimum_uid = 100 virtual_transport = maildrop virtual_uid_maps = static:500 Ich habe sicher irgendeinen Denkfehler... Generelle Kommentare zur Konfiguration sind natürlich auch nicht nuerwünscht ;) Danke und Tschau Andreas -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Andreas Jutzy schrieb:
Hallo zusammen,
im Zuge meiner Tests mit einem Postfix System und virtuellen Mailboxen ist mir noch ein Problem eingefallen. Ich habe eine virtual_alias_map in einer Datenbank sowie eine (lokale) alias_map in einer Datei (/etc/aliases). Wenn ich mir als root eine email an root senden will, macht postfix logischer weise root@example.com als Absender/Empfänger daraus ($myorigin), und will anschließend den ailas root@example.com in der datenbank einsehen. Gibt es nicht, dann schaut er nach ob es die virtuelle Mailbox gibt, gibt es auch nicht, dann lehnt er mit "invailid user" die mail ab.
hier mal ein postconf -n:
alias_maps = hash:/etc/aliases biff = no broken_sasl_auth_clients = yes canonical_maps = hash:/etc/postfix/canonical command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/lib/postfix debug_peer_level = 3 defer_transports = disable_dns_lookups = no disable_mime_output_conversion = no disable_vrfy_command = yes html_directory = /usr/share/doc/packages/postfix/html inet_interfaces = all inet_protocols = all local_recipient_maps = unix:passwd.byname $alias_maps 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 = 10240000 mydestination = $myhostname myhostname = mail.example.com mynetworks = 127.0.0.0/8 mynetworks_style = subnet myorigin = example.com newaliases_path = /usr/bin/newaliases queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/packages/postfix/README_FILES 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 = maildrop smtp_sasl_auth_enable = no smtp_use_tls = no smtpd_banner = $myhostname ESMTP $mail_name smtpd_client_restrictions = permit_mynetworks smtpd_helo_required = no smtpd_helo_restrictions = smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination,permit_sasl_authenticated smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = smtpd_sasl_security_options = noanonymous smtpd_sender_restrictions = hash:/etc/postfix/access smtpd_use_tls = no soft_bounce = yes strict_8bitmime = no strict_rfc821_envelopes = no transport_maps = hash:/etc/postfix/transport unknown_local_recipient_reject_code = 550 virtual_alias_maps = mysql:/etc/postfix/valiasessql.cf virtual_mailbox_base = /var/mail/example.com/ virtual_mailbox_domains = example.com virtual_mailbox_maps = mysql:/etc/postfix/vmailboxsql.cf virtual_minimum_uid = 100 virtual_transport = maildrop virtual_uid_maps = static:500
Ich habe sicher irgendeinen Denkfehler... Generelle Kommentare zur Konfiguration sind natürlich auch nicht nuerwünscht ;)
Danke und Tschau Andreas
PS: die Datenbank mit den Aliases kann nicht modifiziert werden! Es können aufgrund von KEY Abhängikeiten auch nicht so einfach aliase für root usw hinzugefügt werden. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Andreas Jutzy wrote:
Andreas Jutzy schrieb:
Hallo zusammen,
im Zuge meiner Tests mit einem Postfix System und virtuellen Mailboxen ist mir noch ein Problem eingefallen. Ich habe eine virtual_alias_map in einer Datenbank sowie eine (lokale) alias_map in einer Datei (/etc/aliases). Wenn ich mir als root eine email an root senden will, macht postfix logischer weise root@example.com als Absender/Empfänger daraus ($myorigin), und will anschließend den ailas root@example.com in der datenbank einsehen. Gibt es nicht, dann schaut er nach ob es die virtuelle Mailbox gibt, gibt es auch nicht, dann lehnt er mit "invailid user" die mail ab.
Solche Sachen kannst du am einfachsten mit dem Log darstellen. Die Anonymisierung muss natürlich präzise dem Schema folgen, wie auch die Konfiguration anonymisiert wurde. In der Konfiguration gibt es eine Menge Verbesserungsmöglichkeiten.
hier mal ein postconf -n:
alias_maps = hash:/etc/aliases biff = no broken_sasl_auth_clients = yes canonical_maps = hash:/etc/postfix/canonical
Brauchst du canonical_maps wirklich? Wenn nicht, dann raus damit.
command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/lib/postfix debug_peer_level = 3 defer_transports = disable_dns_lookups = no disable_mime_output_conversion = no disable_vrfy_command = yes html_directory = /usr/share/doc/packages/postfix/html inet_interfaces = all inet_protocols = all local_recipient_maps = unix:passwd.byname $alias_maps 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 = 10240000 mydestination = $myhostname myhostname = mail.example.com
Bitte beachten: mail.example.com ist lokal (mydestination) und hat seine gültigen Empfänger in /etc/aliases und /etc/passwd (local_recipient_maps), während Empfänger für example.com in virtual_mailbox_maps gesucht werden. Bist du wirklich sicher, dass du Mails für mail.example.com annehmen willst?
mynetworks = 127.0.0.0/8 mynetworks_style = subnet
mynetworks_style wird ignoriert, wenn du mynetworks explizit angibst.
myorigin = example.com newaliases_path = /usr/bin/newaliases queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/packages/postfix/README_FILES 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 = maildrop smtp_sasl_auth_enable = no smtp_use_tls = no smtpd_banner = $myhostname ESMTP $mail_name smtpd_client_restrictions = permit_mynetworks
Kannst du ruhig leer lassen, so bringt es ohnehin nichts: smtpd_client_restrictions =
smtpd_helo_required = no
Setze "smtpd_helo_required = yes", das bringt schon einiges an der Spamfront, und jeder legale Client meldet sich mit HELO/EHLO.
smtpd_helo_restrictions = smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination,permit_sasl_authenticated
In dieser Reihenfolge bringt das sehr wenig, da hinter reject_unauth_destination nur noch Mails für die eigenen Domains angenommen werden: smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination Sonst können deine User, die sich authentifizieren, nicht Mails nach außen schicken.
smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = smtpd_sasl_security_options = noanonymous smtpd_sender_restrictions = hash:/etc/postfix/access
Das würde ich auch auf leer setzen, es bringt nur die Konfig durcheinander. Ein genereller Ratschlag ist auch, die Tabellen immer mit einem sprechenden Namen zu belegen, damit du auf einen Blick siehst, welche Checks wo stattfinden: check_recipient_access hash:/etc/postfix/recipient_greylisting_active check_client_access pcre:/etc/postfix/client_blacklisted
smtpd_use_tls = no soft_bounce = yes
Für Testphasen okay, aber sobald der Server ans Netz gehängt wird, darf kein soft_bounce mehr aktiv sein, das wandelt jeden permanenten Reject in einen Tempfehler um.
strict_8bitmime = no strict_rfc821_envelopes = no
Sollte auch auf "yes" gesetzt werden.
transport_maps = hash:/etc/postfix/transport unknown_local_recipient_reject_code = 550 virtual_alias_maps = mysql:/etc/postfix/valiasessql.cf virtual_mailbox_base = /var/mail/example.com/ virtual_mailbox_domains = example.com virtual_mailbox_maps = mysql:/etc/postfix/vmailboxsql.cf virtual_minimum_uid = 100 virtual_transport = maildrop virtual_uid_maps = static:500
Ich habe sicher irgendeinen Denkfehler... Generelle Kommentare zur Konfiguration sind natürlich auch nicht nuerwünscht ;)
Danke und Tschau Andreas
PS: die Datenbank mit den Aliases kann nicht modifiziert werden! Es können aufgrund von KEY Abhängikeiten auch nicht so einfach aliase für root usw hinzugefügt werden.
/etc/aliases wird nur für die Domain mail.example.com ausgewertet! Wenn du Mails für example.com umleiten willst, dann musst du dies in virtual_alias_maps eintragen. -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
mydestination = $myhostname myhostname = mail.example.com
Bitte beachten: mail.example.com ist lokal (mydestination) und hat seine gültigen Empfänger in /etc/aliases und /etc/passwd (local_recipient_maps), während Empfänger für example.com in virtual_mailbox_maps gesucht werden.
Bist du wirklich sicher, dass du Mails für mail.example.com annehmen willst?
habe den Paramter nun mal in myhostname = localhost geändert.
Ein genereller Ratschlag ist auch, die Tabellen immer mit einem sprechenden Namen zu belegen, damit du auf einen Blick siehst, welche Checks wo stattfinden:
check_recipient_access hash:/etc/postfix/recipient_greylisting_active check_client_access pcre:/etc/postfix/client_blacklisted
das habe ich mir noch nicht näher zu Gemüte geführt, werde ich erstmal die Doku mit quälen :)
smtpd_use_tls = no soft_bounce = yes
Für Testphasen okay, aber sobald der Server ans Netz gehängt wird, darf kein soft_bounce mehr aktiv sein, das wandelt jeden permanenten Reject in einen Tempfehler um.
Softbounce ist klar. Was meinst du mit der TLS Option?
/etc/aliases wird nur für die Domain mail.example.com ausgewertet! Wenn du Mails für example.com umleiten willst, dann musst du dies in virtual_alias_maps eintragen.
nachdem ich jetzt mal $myhostname auf loalhost gesetzt habe, nimmt er mir zumindest root@localhost wieder an. das ganze Problem hätte ich ja nicht, wenn ich die Alias Datenbank wunschgemäß ändern und enien root@example.com einfügen könnte. Kann ich aber leider nicht. Es scheint mir also zumindest momnetan kenie Mögilchkeit zu geben, root@example.com aufzulösen..... Oder siehst Du das anders? bye -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Andreas Jutzy wrote:
mydestination = $myhostname myhostname = mail.example.com
Bitte beachten: mail.example.com ist lokal (mydestination) und hat seine gültigen Empfänger in /etc/aliases und /etc/passwd (local_recipient_maps), während Empfänger für example.com in virtual_mailbox_maps gesucht werden.
Bist du wirklich sicher, dass du Mails für mail.example.com annehmen willst?
habe den Paramter nun mal in myhostname = localhost geändert.
Es ist immer etwas trickreich, einen non_FQDN zu vewenden. Dann besser etwas wie localhost.localdomain oder ähnlich. Die Voreinstellung ist, dass username zu username@localhost wird und Postfix dann mit $origin einen FQDN daraus macht: username@localhost.mail.example.com.
Ein genereller Ratschlag ist auch, die Tabellen immer mit einem sprechenden Namen zu belegen, damit du auf einen Blick siehst, welche Checks wo stattfinden:
check_recipient_access hash:/etc/postfix/recipient_greylisting_active check_client_access pcre:/etc/postfix/client_blacklisted
das habe ich mir noch nicht näher zu Gemüte geführt, werde ich erstmal die Doku mit quälen :)
Immer einen Schritt nach dem anderen, dann klappt das schon. Grundsätzlich hat Postfix mehrere Checks, die Tabellen abfragen können: check_client_access => IP/Hostname des Clients check_helo_access => HELO des Clients check_recipient_access => Emailadresse des Empfängers check_sender_access => Emailadresse des Absenders
smtpd_use_tls = no soft_bounce = yes
Für Testphasen okay, aber sobald der Server ans Netz gehängt wird, darf kein soft_bounce mehr aktiv sein, das wandelt jeden permanenten Reject in einen Tempfehler um.
Softbounce ist klar. Was meinst du mit der TLS Option?
Die steht nur darüber, meine Bemerkung bezieht sich auf das soft_bounce. Wenn du kein TLS brauchst, ist es okay. Ansonsten musst du halt Zertifikate anlegen dafür.
/etc/aliases wird nur für die Domain mail.example.com ausgewertet! Wenn du Mails für example.com umleiten willst, dann musst du dies in virtual_alias_maps eintragen.
nachdem ich jetzt mal $myhostname auf loalhost gesetzt habe, nimmt er mir zumindest root@localhost wieder an.
Wurde die Mail denn ausgeliefert? Ich würde erwarten, dass die Mail jetzt in /var/spool/mail/root liegt. Grundsätzlich sollen die Mails für root und abuse an einen echten User weitergeleitet werden.
das ganze Problem hätte ich ja nicht, wenn ich die Alias Datenbank wunschgemäß ändern und enien root@example.com einfügen könnte. Kann ich aber leider nicht. Es scheint mir also zumindest momnetan kenie Mögilchkeit zu geben, root@example.com aufzulösen..... Oder siehst Du das anders?
Natürlich. Jetzt frage ich mich natürlich, warum es keine Möglichkeit gibt, /etc/aliases zu ändern. Eine andere Frage ist, ob du diese Aliases für POSTFIX wirklich brauchst? Meine Aliases stehen zum Beispiel in /etc/postfix/aliases. Eine andere Möglichkeit ist, eine zweite Alias-Tabelle anzulegen: /etc/postfix/main.cf: alias_maps = hash:/etc/aliases hash:/etc/postfix/aliases Setze am besten alias_database auf den gleichen Wert, damit der Befehl newaliases auch beide Datenbanken aktualisiert. Möglichkeiten gibt es viele, die Frage ist eher, was für deinen Fall angemessen ist. -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
habe den Paramter nun mal in myhostname = localhost geändert.
Es ist immer etwas trickreich, einen non_FQDN zu vewenden. Dann besser etwas wie localhost.localdomain oder ähnlich. Die Voreinstellung ist, dass username zu username@localhost wird und Postfix dann mit $origin einen FQDN daraus macht: username@localhost.mail.example.com.
Trickreich und faul, aber Postfix macht automatisch localhost.localdomain daraus...
Ein genereller Ratschlag ist auch, die Tabellen immer mit einem sprechenden Namen zu belegen, damit du auf einen Blick siehst, welche Checks wo stattfinden:
check_recipient_access hash:/etc/postfix/recipient_greylisting_active check_client_access pcre:/etc/postfix/client_blacklisted
das habe ich mir noch nicht näher zu Gemüte geführt, werde ich erstmal die Doku mit quälen :)
Immer einen Schritt nach dem anderen, dann klappt das schon. Grundsätzlich hat Postfix mehrere Checks, die Tabellen abfragen können: check_client_access => IP/Hostname des Clients check_helo_access => HELO des Clients check_recipient_access => Emailadresse des Empfängers check_sender_access => Emailadresse des Absenders
Ja, dazu werde ich mir wohl morgen mal ein anti-UCE manual ansehen....
Softbounce ist klar. Was meinst du mit der TLS Option?
Die steht nur darüber, meine Bemerkung bezieht sich auf das soft_bounce. Wenn du kein TLS brauchst, ist es okay. Ansonsten musst du halt Zertifikate anlegen dafür.
Achso, und ich grübelte schon was softbounce wohl mit TLS zu tun hat :o)
nachdem ich jetzt mal $myhostname auf loalhost gesetzt habe, nimmt er mir zumindest root@localhost wieder an.
Wurde die Mail denn ausgeliefert? Ich würde erwarten, dass die Mail jetzt in /var/spool/mail/root liegt. Grundsätzlich sollen die Mails für root und abuse an einen echten User weitergeleitet werden.
Sie wurde wie gewünscht an den lokalen root ausgeliefert. Noch wird nichts umegleitet.
das ganze Problem hätte ich ja nicht, wenn ich die Alias Datenbank wunschgemäß ändern und enien root@example.com einfügen könnte. Kann ich aber leider nicht. Es scheint mir also zumindest momnetan kenie Mögilchkeit zu geben, root@example.com aufzulösen..... Oder siehst Du das anders?
Natürlich. Jetzt frage ich mich natürlich, warum es keine Möglichkeit gibt, /etc/aliases zu ändern.
Eine andere Frage ist, ob du diese Aliases für POSTFIX wirklich brauchst? Meine Aliases stehen zum Beispiel in /etc/postfix/aliases.
Eine andere Möglichkeit ist, eine zweite Alias-Tabelle anzulegen:
/etc/postfix/main.cf: alias_maps = hash:/etc/aliases hash:/etc/postfix/aliases
Setze am besten alias_database auf den gleichen Wert, damit der Befehl newaliases auch beide Datenbanken aktualisiert.
Möglichkeiten gibt es viele, die Frage ist eher, was für deinen Fall angemessen ist.
Also genau DAS habe ich fast schon gesucht. Ich schließe jetzt mal daraus, dass es auch möglich ist mehrere virtual_alias_maps anzugeben. Dann ist das Problem mit der schon bestehenden DB quasi gelöst und ich kann root@example.com wunderbar aliasen ohne Bauchschmrzen zu bekommen. Wird morgen ausprobiert, erstmal vielen Dank :) -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Andreas Jutzy wrote:
Immer einen Schritt nach dem anderen, dann klappt das schon. Grundsätzlich hat Postfix mehrere Checks, die Tabellen abfragen können: check_client_access => IP/Hostname des Clients check_helo_access => HELO des Clients check_recipient_access => Emailadresse des Empfängers check_sender_access => Emailadresse des Absenders
Ja, dazu werde ich mir wohl morgen mal ein anti-UCE manual ansehen....
Sei bitte SEHR vorsichtig damit. Viele how-tos sind veraltet und gehen von falschen Voraussetzungen aus, andere empfehlen drakonische Maßnahmen ohne einen Hinweis darauf, dass diese Einstellungen auch viele gewünschte Mails abweisen. Sehr viel hängt von deiner Situation ab, insbesondere, für welche Zwecke der Server eingesetzt wird (nur Empfang, Relay usw.) und welche Clients diesen Server nutzen sollen/müssen. Generell kann man allein mit Postfix-Mitteln etwas 90% der unerwünschten Mails ohne große Fehlequote abweisen. Danach wird es jedes Prozent mehr ein Herantasten, was zuviele erwünschte Mails abweist. Logkontrolle ist unabdingbar, um diese falsch abgewiesenen Clients zu finden.
Eine andere Möglichkeit ist, eine zweite Alias-Tabelle anzulegen:
/etc/postfix/main.cf: alias_maps = hash:/etc/aliases hash:/etc/postfix/aliases
Also genau DAS habe ich fast schon gesucht. Ich schließe jetzt mal daraus, dass es auch möglich ist mehrere virtual_alias_maps anzugeben.
Ja, das ist möglich. Postfix ist gut (eher SEHR GUT!) dokumentiert, und Wietse gibt sich enorme Mühe, Parameter und Einstellungen intuitiv bedienbar zu machen. Dazu gehört auch, dass Maps, in denen mehrere Tabellen angegeben werden können, als mapS (Mehrzahl) zu kennzeichnen. Du kannst die Erklärungen, was ein Parameter macht, fast auf die Goldwaage legen, so viel Mühe macht sich Wietse bei der Dokumentation.
Dann ist das Problem mit der schon bestehenden DB quasi gelöst und ich kann root@example.com wunderbar aliasen ohne Bauchschmrzen zu bekommen.
Wird morgen ausprobiert, erstmal vielen Dank :)
-- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Sandy Drobic schrieb:
Andreas Jutzy wrote:
Immer einen Schritt nach dem anderen, dann klappt das schon. Grundsätzlich hat Postfix mehrere Checks, die Tabellen abfragen können: check_client_access => IP/Hostname des Clients check_helo_access => HELO des Clients check_recipient_access => Emailadresse des Empfängers check_sender_access => Emailadresse des Absenders
Ja, dazu werde ich mir wohl morgen mal ein anti-UCE manual ansehen....
Sei bitte SEHR vorsichtig damit. Viele how-tos sind veraltet und gehen von falschen Voraussetzungen aus, andere empfehlen drakonische Maßnahmen ohne einen Hinweis darauf, dass diese Einstellungen auch viele gewünschte Mails abweisen.
Sehr viel hängt von deiner Situation ab, insbesondere, für welche Zwecke der Server eingesetzt wird (nur Empfang, Relay usw.) und welche Clients diesen Server nutzen sollen/müssen.
Generell kann man allein mit Postfix-Mitteln etwas 90% der unerwünschten Mails ohne große Fehlequote abweisen. Danach wird es jedes Prozent mehr ein Herantasten, was zuviele erwünschte Mails abweist. Logkontrolle ist unabdingbar, um diese falsch abgewiesenen Clients zu finden.
Eine andere Möglichkeit ist, eine zweite Alias-Tabelle anzulegen:
/etc/postfix/main.cf: alias_maps = hash:/etc/aliases hash:/etc/postfix/aliases
Also genau DAS habe ich fast schon gesucht. Ich schließe jetzt mal daraus, dass es auch möglich ist mehrere virtual_alias_maps anzugeben.
Ja, das ist möglich. Postfix ist gut (eher SEHR GUT!) dokumentiert, und Wietse gibt sich enorme Mühe, Parameter und Einstellungen intuitiv bedienbar zu machen. Dazu gehört auch, dass Maps, in denen mehrere Tabellen angegeben werden können, als mapS (Mehrzahl) zu kennzeichnen. Du kannst die Erklärungen, was ein Parameter macht, fast auf die Goldwaage legen, so viel Mühe macht sich Wietse bei der Dokumentation.
Dann ist das Problem mit der schon bestehenden DB quasi gelöst und ich kann root@example.com wunderbar aliasen ohne Bauchschmrzen zu bekommen.
Wird morgen ausprobiert, erstmal vielen Dank :)
So, ich habe mich mal durch ein UCE FAQ von Ende 07 gekämpft, und erste Tests verliefen rel. gut. Mal noch ein Postconf -n: alias_maps = hash:/etc/aliases biff = no broken_sasl_auth_clients = yes canonical_maps = hash:/etc/postfix/canonical command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/lib/postfix debug_peer_level = 3 defer_transports = disable_dns_lookups = no disable_mime_output_conversion = no disable_vrfy_command = yes html_directory = /usr/share/doc/packages/postfix/html inet_interfaces = all inet_protocols = all local_recipient_maps = unix:passwd.byname $alias_maps 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 = 10240000 mydestination = localhost.$mydomain, localhost myhostname = localhost mynetworks = 127.0.0.0/8 myorigin = example.com newaliases_path = /usr/bin/newaliases queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/packages/postfix/README_FILES relayhost = relocated_maps = hash:/etc/postfix/relocated sample_directory = /usr/share/doc/packages/postfix/samples sendmail_path = /usr/sbin/sendmail setgid_group = maildrop smtp_sasl_auth_enable = no smtp_use_tls = no smtpd_banner = $myhostname ESMTP $mail_name smtpd_client_restrictions = permit_mynetworks smtpd_data_restrictions = reject_unauth_pipelining, permit smtpd_helo_required = yes smtpd_helo_restrictions = smtpd_recipient_restrictions = reject_invalid_hostname, reject_non_fqdn_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unknown_recipient_domain, permit_mynetworks, permit_sasl_authenticated reject_unauth_destination, check_recipient_access pcre:/etc/postfix/recipient_checks.pcre, check_helo_access hash:/etc/postfix/helo_checks, reject_rbl_client list.dsbl.org, reject_rbl_client dnsbl.sorbs.net, reject_rbl_client spam.dnsbl.sorbs.net, reject_rbl_client zen.spamhaus.org, smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = smtpd_sasl_security_options = noanonymous smtpd_use_tls = no soft_bounce = yes strict_8bitmime = yes strict_rfc821_envelopes = yes transport_maps = hash:/etc/postfix/transport unknown_local_recipient_reject_code = 550 virtual_alias_maps = mysql:/etc/postfix/valiasessql.cf, hash:/etc/postfix/virtualexamplecom virtual_mailbox_base = /var/mail/example.com/ virtual_mailbox_domains = example.com virtual_mailbox_maps = mysql:/etc/postfix/vmailboxsql.cf virtual_minimum_uid = 100 virtual_transport = maildrop virtual_uid_maps = static:500 Im übrigen war die zweite virtual_alias_map die Lösung für mein Ursprungsproblem :o) So einfach kann es sein... -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Andreas Jutzy wrote:
So, ich habe mich mal durch ein UCE FAQ von Ende 07 gekämpft, und erste Tests verliefen rel. gut.
Mal noch ein Postconf -n: alias_maps = hash:/etc/aliases biff = no broken_sasl_auth_clients = yes canonical_maps = hash:/etc/postfix/canonical command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/lib/postfix debug_peer_level = 3 defer_transports = disable_dns_lookups = no disable_mime_output_conversion = no disable_vrfy_command = yes html_directory = /usr/share/doc/packages/postfix/html inet_interfaces = all inet_protocols = all local_recipient_maps = unix:passwd.byname $alias_maps 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 = 10240000 mydestination = localhost.$mydomain, localhost myhostname = localhost mynetworks = 127.0.0.0/8 myorigin = example.com newaliases_path = /usr/bin/newaliases queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/packages/postfix/README_FILES relayhost = relocated_maps = hash:/etc/postfix/relocated sample_directory = /usr/share/doc/packages/postfix/samples sendmail_path = /usr/sbin/sendmail setgid_group = maildrop smtp_sasl_auth_enable = no smtp_use_tls = no smtpd_banner = $myhostname ESMTP $mail_name smtpd_client_restrictions = permit_mynetworks
Kannst du weglassen. permit_mynetworks gibt "OK" zurück, wenn die Client-IP in $mynetworks ist, aber auch wenn nicht, wird am Ende der smtpd_*_restrictions immer "OK" angenommen. Also nur eine ABM-Maßnahme.
smtpd_data_restrictions = reject_unauth_pipelining, permit
Praktisch wirkungslos. Ich habe bisher nur sehr wenige Mails dadurch abgewiesen.
smtpd_helo_required = yes smtpd_helo_restrictions = smtpd_recipient_restrictions = reject_invalid_hostname, reject_non_fqdn_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unknown_recipient_domain, permit_mynetworks, permit_sasl_authenticated reject_unauth_destination, check_recipient_access pcre:/etc/postfix/recipient_checks.pcre, check_helo_access hash:/etc/postfix/helo_checks, reject_rbl_client
Ich würde noch die Funktion (Whitelist/Blacklist etc.) mit in den Namen hereinnehmen, sonst wirst du nach wenigen Monaten nicht mehr wissen, welche Checks wo stattfinden.
list.dsbl.org, reject_rbl_client dnsbl.sorbs.net, reject_rbl_client spam.dnsbl.sorbs.net, reject_rbl_client zen.spamhaus.org,
Die Reihenfolge würde ich auch etwas ändern: # leer bedeutet, dass sie nicht benutzt werden smtpd_client_restrictions = smtpd_helo_restrictions = smtpd_sender_restrictions = # alle checks hier einbauen smtpd_recipient_restrictions = # checks für alle Clients: keine Emailadressen akzeptieren, die nicht vollständig sind. reject_non_fqdn_sender reject_non_fqdn_recipient # Relayen erlaubt für Clients, deren IP in mynetworks steht. permit_mynetworks # Relayen erlaubt für Clients, die sich authentifizieren permit_sasl_authenticated # nach reject_unauth_destination nur noch Annahme von Mails für eigene Domains, # also nur noch externe, nicht vertrauenswürdige Clients reject_unauth_destination # Sicherstellen, dass die Mails auch ausgeliefert werden können (Empfänger ist gültig) # dies setzt voraus, das Postfix auch eine Liste der gültigen Emailadresen hat . Siehe oben unter Relay_domains! reject_unlisted_recipient # wenn keine relay_recipient_maps verwendet werden, kann reject_unverified_recipient verwendet werden # hier können falsch eingerichtete Clients aufgenommen werden, die von den darunterstehenden Checks abgewiesen werden: # wenn man dies in der Konfig angibt, muss die Datei existieren, und mit "postmap hash:/etc/postfix/whitelist_clients" bei jeder Veränderung # aktualisiert werden! check_client_access hash:/etc/postfix/whitelist_clients # HELO-checks: # Bei Postfix 2.3 aufwärts (mail_version?) ist der Name eindeutiger: # reject_invalid_helo_hostname # reject_non_fqdn_helo_hostname reject_invalid_hostname reject_non_fqdn_hostname # weise alle externen Clients ab, die die eigene IP als HELO angeben (100% nur Spammer!): check_helo_access hash:/etc/postfix/block_helo_own_ip # diese Datei enthält IP-Adressen, die nicht öffentlich sind, # wenn die Absender-Domain im DNS einen MX angibt, der nicht erreichbar ist, dann die Mail abweisen. #check_sender_mx_access cidr:/etc/postfix/sender_mx_blocked # Blacklist spamhaus.org abfragen # dies ist eine kombinierte Liste, welche dynamische IPs, Spam-Netze und Rechner, die an Spamtrap-Adressen Mails senden, blockieren: # sehr weit verbreitet, sehr effektiv, sehr wenige False Positives: reject_rbl_client zen.spamhaus.org # Weise Mails ab, deren Absenderadressen nicht im DNS auffindbar sind (diese Mails können deshalb ohnehin nicht beantwortet werden): # Hat manchmal false Positives, aber selten: reject_unknown_sender_domain /etc/postfix/sender_mx_blocked: 127.0.0.0/8 REJECT IP address of MX host is a loopback address 224.0.0.0/12 REJECT IP address of MX host is a multicast address 255.0.0.0/8 REJECT IP address of MX host is a bogus address 192.168.0.0/16 REJECT IP address of MX host is a IANA reserved address 172.16.0.0/12 REJECT IP address of MX host is a IANA reserved address 10.0.0.0/8 REJECT IP address of MX host is a IANA reserved /etc/postfix/block_helo_own_ip: mail.patorg.de 554 Do not use our own domain as HELO! 87.230.12.138 554 Do not use our own domain as HELO! [87.230.12.138] 554 Do not use our own domain as HELO! Hier noch einmal ohne Kommentare die Parameter, die hinzukommen, bzw. die bestehenden ersetzen: /etc/postfix/main.cf: smtpd_hard_error_limit = 4 smtpd_helo_required = yes smtpd_client_restrictions = smtpd_helo_restrictions = smtpd_sender_restrictions = smtpd_recipient_restrictions = reject_non_fqdn_sender reject_non_fqdn_recipient permit_mynetworks permit_sasl_authenticated reject_unauth_destination reject_unlisted_recipient check_client_access hash:/etc/postfix/whitelist_clients reject_invalid_hostname reject_non_fqdn_hostname check_helo_access hash:/etc/postfix/block_helo_own_ip check_sender_mx_access cidr:/etc/postfix/sender_mx_blocked reject_rbl_client zen.spamhaus.org reject_unknown_sender_domain
smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = smtpd_sasl_security_options = noanonymous smtpd_use_tls = no soft_bounce = yes strict_8bitmime = yes strict_rfc821_envelopes = yes transport_maps = hash:/etc/postfix/transport unknown_local_recipient_reject_code = 550 virtual_alias_maps = mysql:/etc/postfix/valiasessql.cf, hash:/etc/postfix/virtualexamplecom virtual_mailbox_base = /var/mail/example.com/ virtual_mailbox_domains = example.com virtual_mailbox_maps = mysql:/etc/postfix/vmailboxsql.cf virtual_minimum_uid = 100 virtual_transport = maildrop virtual_uid_maps = static:500
Im übrigen war die zweite virtual_alias_map die Lösung für mein Ursprungsproblem :o) So einfach kann es sein...
-- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (2)
-
Andreas Jutzy
-
Sandy Drobic