• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Postfix -> ungewollte Adressumschreibung!!!

Status
Für weitere Antworten geschlossen.

mogli202

Newbie
hi @all! 1st Post :D

Zu meinem Problem (hoffe es kann jemand helfen?!)

Ich betreibe 2 Mailserver einen im Internen-Lan und einen Externen!

Extern:

postfix
amavis-new
spamassassin

Intern:

postfix
amavis-new
spamassassin
fetchmail

Die Sache ist die:
Am externen Mailserver existieren Nur Catchall-Accounts. die für mehrere Domänen Mails entgegennehmen!
Der Interne Server holt den inhalt per fetchmail ab und sortiert sie ein!
Das Problem dabei ist wenn Mails zB. für user1 in das Sammelpostfach kommen steht:

Delivered To: sammelpostfachname@domain.at

Fetchmail holt dann zwar die Mail ab aber kann sie nicht an User1 zustellen!

Sondern an 2 User die wirklich diese Addresse (sammelpostfach@domain.at) haben!
Am Ende sieht es dann so aus dass diese Benutzer alle Mails bekommen!

Wie kann ich es erreichen das Postfix keine Umschreibungen vornimmt!

main.cf:
Code:
soft_bounce = yes
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
unknown_local_recipient_reject_code = 550
verp_delimiter_filter = -=+
recipient_delimiter = -
debugger_command =
                 PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
                 xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail
newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
setgid_group = maildrop
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/packages/postfix/samples
readme_directory = /usr/share/doc/packages/postfix/README_FILES
canonical_maps = hash:/etc/postfix/canonical
virtual_maps = hash:/etc/postfix/virtual
relocated_maps = hash:/etc/postfix/relocated
transport_maps = hash:/etc/postfix/transport
sender_canonical_maps = hash:/etc/postfix/sender_canonical
masquerade_classes = envelope_sender, header_sender, header_recipient
myhostname = globesoft.at
mydomain = globesoft.at
defer_transports =
disable_dns_lookups = no
strict_rfc821_envelopes = no
smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination
#smtpd_helo_restriction = permit_mynetworks,reject_invalid_hostname
#smtpd_sender_restriction = permit_mynetworks,reject_invalid_hostname
#smtpd_recipient_restriction = permit_mynetworks,reject_invalid_hostname
smtp_sasl_auth_enable = no
smtpd_sasl_auth_enable = no
#smtpd_helo_required = yes
smtpd_use_tls = no
smtp_use_tls = no
alias_maps = hash:/etc/aliases
mailbox_size_limit = 0
message_size_limit = 40960000
recipient_canonical_maps = hash:/etc/postfix/recipient_canonical
myorigin = $mydomain
mailbox_command = /usr/bin/procmail
content_filter = vscan:[127.0.0.1]:10024
virtual_alias_maps = hash:/etc/postfix/virtual
append_at_myorigin = no
swap_bangpath = no
append_dot_mydomain = no
maximal_queue_lifetime = 2d
smtpd_recipient_restrictions =
                check_client_access hash:/etc/postfix/access,check_relay_domains
mydestination = $myhostname, localhost.$mydomain, $mydomain
spamassa,amavis,fetchmail funzt (haben ich schon ausgiebig getestet) muss am Postfix(extern) liegen
ps: Auf dem externen Server lief immer Sendmail das hat alles gefunzt!
 
Du hast die recipient_canonicals, die sender_canonicals und die globalen canonicals aktiv. Ggfs. will da was nicht zusammen arbeiten.

Grüße
 
OP
mogli202

mogli202

Newbie
nöp hab ich nicht aktiv!
edit: habe ich schon aber steht nichts drin!(schalte sie mal aus)

habe virtual und access im Einsatz!

in der Virtual habe ich wie folgt eingeragen:

domain anything
@domain sammelpostfach

Und in der Access stehen nur Ips die relayen dürfen!
versuche mal
danke und
greetz
 
OP
mogli202

mogli202

Newbie
hm.
funkt trotzdem nicht.

wenn ich mir den E-Mail Header ansehe steht immer:
Auszug:
Code:
X-Original-To: sammelpostfach          (nur der name des Postfaches)
Delivered-To: sammelpostfach@domain
dann versch received...
...
......
From: Externe Adresse
To: user1@domain   (stimmt auch - wird aber nicht zugesendet!)

:(
 

ThomasF

Hacker
Ich blicke noch nicht ganz durch Deine Config ... ?!?

Die Konstellation mit einem externen Mailer macht IMHO nur Sinn wenn dieser keine lokalen Postfächer hat, zumindest kenne ich das so.

In der Praxis sieht das also so aus das der externe Mailer die Mails annimmt, checked und dann sofort an einen bestimmten internen Mailer weiterleitet.
Für den Fall das der interne Mailer nicht erreichbar ist bleiben die Mails in der Queue (5 Tage sollten doch wohl reichen ;-) )

Auf dem internen Mailer haben dann Deine User ihre Postfächer und Du hast keine Probleme mit umgeschriebenen Adressen ...

Dein Problem liegt meiner Meinung nach an den Envelope-Adressen der Mails die nach der Zustellung im Catch All Account natürlich geändert wurden ...

Hast Du einen speziellen Grund auf dem Externen mit dem Catch All zu arbeiten ???

So long

ThomasF
 
OP
mogli202

mogli202

Newbie
Ich blicke noch nicht ganz durch Deine Config ... ?!?

Es ist so: der externe Server(der der Probleme bereitet) nimmt ja für mehrere Domänen an!
nur eine Domäne ist für mich (meinen internen Server.)
Die anderen (Sammel)Postfächer werden dann von Servern abgeholt die per DSL(einwahl) connected sind (Cronjob alle 15min der per fetch die mails abholt) diese Server sortieren dann die Mails lokal ein!
das hat für mich den Vorteil dass ich nur ein Paar Sammelpostfächer verwalten muss. Und das einfächern etc. übernimmt ein anderer Server!

probiere jetzt mal deinen Vorschlag aus!
cu
 
OP
mogli202

mogli202

Newbie
fetchmail?
glaube nicht das es an fetchmail liegt!
Als sendmail noch im Einsatz war hatte ich die gleiche .fetchmailrc
:folgende:

Code:
poll mail.domain.at
        proto pop3
        nodns
        envelope Delivered-To localdomains domain.at
        user "user1"
        pass "geheim"
        is *
        flush

....
 

dermichel

Advanced Hacker
da ist ja der parameter auch richtig drin! das ist fehlerursache nr.1 bei problemen mit multidrop. aber ohne diesen hinweis konnte ich halt nur raten...
 
OP
mogli202

mogli202

Newbie
ok hätte ich vielleicht vorher posten sollen.
trotzdem danke!

ich poste mal nen Original-Ausschnitt aus der mail - log:
Code:
Dec 14 09:48:56 wwwglobesoft postfix/smtp[14603]: 049E2C8E1: to=<shk>, orig_to=<user1@shk.at>, relay=localhost[127.0.0.1], delay=4, status=sent (250 2.6.0 Ok, id=08164-09, from MTA: 250 Ok: queued as CAE23C9EF)
Dec 14 09:48:56 wwwglobesoft postfix/qmgr[14596]: 049E2C8E1: removed
Dec 14 09:48:59 wwwglobesoft postfix/local[14611]: CAE23C9EF: to=<shk@globesoft.at>, orig_to=<shk>, relay=local, delay=4, status=sent (delivered to command: /usr/bin/procmail)
Dec 14 09:48:59 wwwglobesoft postfix/qmgr[14596]: CAE23C9EF: removed

shk ist der name des Sammelpostfaches
globesoft.at = mydomain

danke für eure hilfe
 

dermichel

Advanced Hacker
aus einem anderen forum:

Ob der X-original-to: Header von Postfix eingefügt wird oder nicht, hängt nicht nur von den Einstellungen, sondern vor allem von dem für lokales Zustellen verwendeten transport ab:
Werden die Mails lokal per LTMP an den Mailserver (z.B. cyrus) weitergegeben, wird kein X-original-to: eingefügt.
Werden dagegen die transports "local" oder "pipe" verwendet, so wird ein X-original-to: eingefügt (siehe http://www.postfix.org/pipe.8.html für die Optionen von pipe).

Wichtig ist, daß Sie [transport]_destination_recipient_limit auf 1 setzen.

Wenn Sie cyrus als Mailserver hinter dem Postfix einsetzen, können Sie mit dem pipe transport das Programm "deliver" ansteuern. Damit können dann die Mails ohne lmtp zugestellt werden.
 
OP
mogli202

mogli202

Newbie
ok cyrus ist drauf hab in der master.cf
eingetragen:

Code:
cyrus     unix  -       n       n       -       -       pipe
 flags=R user=cyrus argv=/usr/lib/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}

und folgende Zeile auskommentiert:

Code:
local     unix  -       n       n       -       -       local

aber er will noch immer mit local zustellen:
Code:
Dec 14 11:41:10 wwwglobesoft postfix/qmgr[17006]: warning: connect to transport local: Connection refused

Achja die Umschreibungen werden nicht mehr durchgeführt :D
Klasse!

Zum obigen: hab ich irgendwas vergessen???

[transport]_destination_recipient_limit auf 1 setzen.
?
gibt einen para der heisst

Code:
default_destination_recipient_limit = 50

den soll ich auf 1 setzten ?why?

greetz
 
OP
mogli202

mogli202

Newbie
Ok die jeweiligen Einträge müssen aus der Virtual entfernt werden!


aber: Bekomme jetzt dauernd die Meldung

Mailbox doesent exist!

die existiert aber!

hat vielleicht irgendwer einen Ansatz?
 

oc2pus

Ultimate Guru
es handelt sich evtl um alte Mails in deiner queue, die wissen nix von deiner Umstellung und werden deshalb nie korrekt abgearbeitet.

Diese "Leichen" musst du manuell aus der Mail-Queue eliminieren.
 
OP
mogli202

mogli202

Newbie
alte Mails hab ich schon mehrmals entfernt!

aber als ergänzung zum obigen post hab da was überlesen:

er findet die Mailbox user1 nicht!

Die soll er ja auch nicht finden da die Mails ja in ein Sammelpostfach kommen!

hab in der Transport:
shk.at cyrus:

in virtual:
@shk.at shk
 
OP
mogli202

mogli202

Newbie
hallo

habe ganzen tag mit cyrus experimentiert! hatte die Nase voll
mit den Mailboxen die nicht existieren! :x

hab dan maildrop probiert nach howto

nach dem howto sollte man ja in der master.cf folgendes haben:

Code:
maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}

kommt aber folgendes : (weis echt nicht mehr weiter)

Code:
Dec 15 15:13:39 wwwglobesoft postfix/pipe[16494]: fatal: get_service_attr: unknown username: vmail
Dec 15 15:13:40 wwwglobesoft postfix/qmgr[16296]: warning: premature end-of-input on private/maildrop socket while reading input attribute name
Dec 15 15:13:40 wwwglobesoft postfix/qmgr[16296]: warning: private/maildrop socket: malformed response
Dec 15 15:13:40 wwwglobesoft postfix/qmgr[16296]: warning: transport maildrop failure -- see a previous warning/fatal/panic logfile record for the problem description
Dec 15 15:13:40 wwwglobesoft postfix/master[14673]: warning: process /usr/lib/postfix/pipe pid 16494 exit status 1
Dec 15 15:13:40 wwwglobesoft postfix/master[14673]: warning: /usr/lib/postfix/pipe: bad command startup -- throttling
 

oc2pus

Ultimate Guru
Dec 15 15:13:40 wwwglobesoft postfix/qmgr[16296]: warning: transport maildrop failure -- see a previous warning/fatal/panic logfile record for the problem description
Dec 15 15:13:40 wwwglobesoft postfix/master[14673]: warning: process /usr/lib/postfix/pipe pid 16494 exit status 1
Dec 15 15:13:40 wwwglobesoft postfix/master[14673]: warning: /usr/lib/postfix/pipe: bad command startup -- throttling

steht doch klar da was das Problem ist ..."see a previous warning/fatal/panic logfile record" also schau mal ein paar Zeilen höher in deinem logfile nach

und poste mal deine master.cf
dort fehlen anscheinend weitere Einträge ...

und starte mal deinen postfix und beobachte dann was im logfile erscheint.
 
OP
mogli202

mogli202

Newbie
Problem gelöst!

Im Webmin gibt es einnen Punkt Lokale Lieferung!

da steht ein Eintrag:

Füge Delivered-To: vorne hinzu, wenn... :idea:

auf "" funzt!
also local fügt nicht immer ein Delivered-To ein!
kann man einstellen! :)
 
Status
Für weitere Antworten geschlossen.
Oben