PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : fetchmail multidrop durch Mail-Gateway



mamue
16.05.04, 21:29
Ich habe einen funktionierenden Mailserver (Postfix auf SuSE9.0 mit cyrus und ldap). Allerdings kann/soll der keine Viren scannen aus Performancegründen, denn das ist der Fileserver.
Auf dem Gateway habe ich jetzt postfix mit Amavis aufgesetzt und wenn ich dort per fetchmail die Mails hole klappt das auch. Durch entsprechende Einträge in der transport werden die Mails weitergeleitet an den internen Mailserver. Das geht aber nur, wenn der Mail-account lokal auf dem Gateway oder in der /etc/aliases vorhanden ist, sonst meldet fetchmail:
"User unknown in local recipient table"
Der gleiche Eintrag taucht dann auch in der /var/log/mail auf.
Muß ich den border-Mailserver auch mit ldap-konfigurieren, damit das funktioniert? Kann nicht der border-Mailserver die Mail weitergeben, ohne zu prüfen, ob der Account lokal vorhanden ist?

Ich weiß da irgendwie überhaupt nicht weiter. Zumal mir nicht einmal ganz klar ist, ob das ein reines fetchmail oder ein Postfix Problem ist.

Danke,
mamue

Terran Marine
17.05.04, 10:30
Muß ich den border-Mailserver auch mit ldap-konfigurieren, damit das funktioniert? Kann nicht der border-Mailserver die Mail weitergeben, ohne zu prüfen, ob der Account lokal vorhanden ist?


Nein, musst du nicht, das wäre sicherheitstechnisch ja auch sehr unschön, die Userdaten haben idR ja nichts auf dem SMTP-Gateway verloren.

Kannst du mal main.cf und einen relevanten Log-Eintrag posten ?

Gruß
Terran

mamue
17.05.04, 11:49
Nein, musst du nicht, das wäre sicherheitstechnisch ja auch sehr unschön, die Userdaten haben idR ja nichts auf dem SMTP-Gateway verloren.

Kannst du mal main.cf und einen relevanten Log-Eintrag posten ?

Gruß
Terran

ich versuche es mal lieber mit teilen aus der main.cf. Ich habe vieles so belassen, wie von SuSE9.0 voreingestellt.
Dabei ist "lb-we.dont.know.schule.de" die Domäne des Mailservers, wo wir unsere Post lagern. Alle mail geht also an "xyz@lb-we.dont.know.schule.de", alle Absender werden umgeschrieben von "xyz@my-local-domain.schule" auf "xyz@lb-we.dont.know.schule.de". DNS funktioniert vorwärts und rückwärts und MX-record wird ebenfalls gefunden. "my-local-domain.schule" ist der Name der internen DNS-Domäne.


mydestination = $myhostname, localhost.$mydomain, lb-we.dont.know.schule.de
masquerade_domains = lb-we.dont.know.schule.de
transport_maps = hash:/etc/postfix/transport
sender_canonical_maps = hash:/etc/postfix/sender_canonical

Die sender_canonical beinhaltet:


@komserver.my-local-domain.schule @lb-we.dont.know.schule.de
@fileserver.my-local-domain.schule @lb-we.dont.know.schule.de
@my-local-domain @lb-we.dont.know.schule.de

Ausgehende Mails werden auch entsprechend umeschrieben.
Die transport enthält:
my-local-domain.schule relay:[172.18.0.1]
localhost.my-local-domain.schule relay:[172.18.0.1]
lb-we.dont.know.schule.de relay:[172.18.0.1]
localhost.lb-we.dont.know.schule.de relay:172.18.0.1]
[/code]
Das funktioniert generell auch, solange eben der Account lokal vorhanden ist.
Die .fetchmailrc enthält:


poll pop3-1.ewetel.net with proto POP3 localdomains lb-we.dont.know.de user our-pop3.account.name with pass not24get is administrator

Hier im Beipiel administrator funktioniert, weil administrator einen Eintrag in der /etc/aliases hat (administrator: root). Die Mail landet dann beim administrator auf dem internen Mailserver. Steht dort hingegen " is malte.mueller", dann kommt:


May 16 20:37:55 komserver postfix/smtpd[23342]: 3A4091E00081: reject: RCPT from localhost[127.0.0.1]: 450 <malte.mueller@localhost>: User unknown in local recipient table;
from=<root@lb-we.dont.know.de> to=<malte.mueller@localhost> proto=ESMTP helo=<localhost>
May 16 20:37:56 komserver postfix/smtpd[23342]: lost connection after RSET from localh
ost[127.0.0.1]

Die gleiche Fehlermeldung erscheint auch in der Ausgabe von fetchmail -v (User unknown in local recipient table).
Ich bin nach wie vor völlig ratlos und weis nicht, an wem es liegt, fetchmail oder postfix.

Danke,
mamue

P.S.: Eigentlich poste ich lieber die echten Angaben, aber neulich sagte man mir, dass die ersten Links, die bei google auftauchen, wenn man nach dem Namen dieser Schule sucht, Postings aus der samba-mailing liste sind. Das ist nicht ganz so klasse, darum hier die etwas verstellten Namen, nicht aus Gründen der Geheimniskrämerei.

Terran Marine
17.05.04, 12:10
iSteht dort hingegen " is malte.mueller", dann kommt:


May 16 20:37:55 komserver postfix/smtpd[23342]: 3A4091E00081: reject: RCPT from localhost[127.0.0.1]: 450 <malte.mueller@localhost>: User unknown in local recipient table;
from=<root@lb-we.dont.know.de> to=<malte.mueller@localhost> proto=ESMTP helo=<localhost>
May 16 20:37:56 komserver postfix/smtpd[23342]: lost connection after RSET from localh
ost[127.0.0.1]



Wird malte.mueller@localhost dann irgendwo umgewandet ?
localhost steht ja auch nicht in mydestination drin.

Hast du mal versucht an malte.muller nochmal eure LAN-Domain anzuhängen ?
bzw. dies über myorigin voreinzustellen ?

Gruß
Terran

mamue
17.05.04, 17:12
Wird malte.mueller@localhost dann irgendwo umgewandet ?
localhost steht ja auch nicht in mydestination drin.

Hast du mal versucht an malte.muller nochmal eure LAN-Domain anzuhängen ?
bzw. dies über myorigin voreinzustellen ?

Gruß
Terran

Ich habe jetzt myorigin angepasst und mydestination:


mydestination = $myhostname, localhost.$mydomain, localhost, lb-we.dont.know.schule.de
myorigin = $mydomain

Laut Doku soll $mydomain default-mässig der FQDN minus hostnamen sein, also bei mir "my-local-domain.schule".
fetchmail -v meldet immer noch:


fetchmail: SMTP< 250 Ok
fetchmail: SMTP> RCPT TO:<malte.mueller@localhost>
fetchmail: SMTP< 450 <malte.mueller@localhost>: User unknown in local recipient table
fetchmail: SMTP error: 450 <malte.mueller@localhost>: User unknown in local recipient table
fetchmail: SMTP> RSET

Der gleiche Fehler taucht auch in der /var/log/mail auf:


May 17 16:33:39 komserver postfix/smtpd[25283]: BA87A1E00081: reject: RCPT from localhost[127.0.0.1]: 450 <malte.mueller@localhost>: User unknown in local recipient table;


Danke,
mamue

Terran Marine
17.05.04, 17:25
fetchmail -v meldet immer noch:

fetchmail: SMTP< 250 Ok
fetchmail: SMTP> RCPT TO:<malte.mueller@localhost>


fetchmail scheint von der neuen Endung wenig beindruckt zu sein, $mydomain haste ja gesetzt, oder ?

Probier mal in der .fetchmailrc beim malte.mueller die komplette Domain anzugeben, was sagt das log dann ?

Gruß
Terran

mamue
17.05.04, 18:40
Danke für Deine Hilfe!
Ich bin jetzt erst einmal ein bisschen umgeschwenkt, um eine Fehlerursache ausscliessen zu können. Fetchmail läuft jetzt auf dem internen-Mailserver und leitet weiter auf den border-Mailserver:


poll pop3-1.ewetel.net with proto POP3:
localdomains lb-we.dont.know.schule.de
user user.account-name with pass not24get
is testuser4@my-local-domain.schule
smtphost komserver.my-local-domain.schule

Aber wie Du schon angegeben hast, erst nach dem Hinzufügen von "my-local-domain.schule" geht es.
Jetzt fehlt mir noch multidrop ("*@my-local-domain.schule"?). Danach werde ich feiern und danach noch mal testen, ob es auch auf dem Gateway funktioniert mit fetchmail. Wenn nicht, wäre das nich so schlimm, der Fileserver ist direkt per 100MBit am Gateway und ansonsten läuft da nicht viel. Elegant ist das aber natürlich nicht so sehr.
Wie gesagt multidrop fehlt noch zu meinem Glück.

Danke,
mamue

Edit: Nein, multidrop geht nicht. fetchmail verschickt das wörtlich als "*@my-local-domain.schule" und Postfix beschwert sich (zu Recht), daß es diesen user nicht gibt. Mist

mamue
17.05.04, 19:07
Das mit "user *@domain" geht ja schon mal nicht. Aber standard-konform ist auch:


poll pop3-1.ewetel.net with proto POP3:
localdomains lb-we.dont.know.schule.de
user user.account-name with pass not24get
is *
smtpaddress my-local-domain.schule
smtphost komserver.my-local-domain.schule

Dann wird der Domain-name angehängt. Wie das unter Last wird, sehe ich erst morgen :ugly:

Danke Terran Marine,
mamue

Edit: Ach ja, für die Statistiker: Der Mailheader hat ungefähr 20 Einträge <:-)