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

Konfiguration fetchmail für Multidrop? HELP

Hallo Community!

Ich habe hier einen OpenSuse 10.1 laufen. Bei 1und1 habe ich eine Domain, auf der alle Mails in "*@meine-domain.de" zusammenlaufen.
Auf dem OpenSuse System habe ich 3 Benutzer angelegt (benutzer1, benutzer2 und benutzer3).
nun möchte ich gerne per fetchmail das 1und1 sammel-postkonto abrufen, und die mails an "benutzer1@meine-domain.de" an den benutzer1 zustellen usw.
Dies ist meine momentane Konfiguration:

poll pop.1und1.de envelove "Envelope-To:" with proto POP3
no dns
localdomains linux.local
user "*@meine-domain.de"
pass "password"
to * here

Die Mails aus der Sammel-Adresse bei 1und1 werden auch abgerufen, aber sie landen alle beim Postmaster, und werden nicht dem lokalen Benutzer zugewiesen.
Wie und wo kann da der Fehler stecken?

Ich weiß, dass ich es auch mit Einzel-Postkonten beim Provider realisieren kann, die ich dann einzeln abrufe, aber ich hätte dennoch gerne eine Lösung für meinen Multidrop.

Ich bin für Tipps und Hilfe sehr dankbar!
 

michael77

Newbie
Versuch mal die Mails von fetchmail an deinen lokalen smtp-Server weiterleiten zu lassen.

Auszug aus meiner /etc/fetchmailrc
Code:
poll pop.meinedomain.org envelope 'X-Envelope-To' localdomains meinedomain.org proto POP3 user '1234567' pass 'geheim' smtphost interner-smtp-server_kann-auch-derselbe-rechner-sein.meinedomain.org to *
 
OP
S

survial555

Newbie
Hallo,
danke für den Tipp, aber so klappt es leider auch nicht.
Die eingegangenen Mails landen immer noch beim Benutzer, dem die fetchmailrc gehört.
Irgendwie muss es doch ein Argument geben wonach fetchmail sortiert. Nur welches?

Ich könnte ja prinzipiell jedes Postfach einzeln abrufen, aber wenn es so hinzubekommen ist, wäre es extrem vorteilhaft.
Wenn ich einen neuen User im Netz habe, dann brauche ich nur das Benutzerkonto anzulegen, und schon ist die Mailgeschichte für diesen User konfiguriert! Ich brauche dann beim Provider keine extra E-Mail Adresse anlegen, die fetchmail nicht jedes mal neu erweitern, und und und.....

Hat noch jemand eine Idee???
 

pft

Advanced Hacker
hab das mutlidrop bei mir mittlerweile abgeschaltet wg. der bekannten Probleme.

Aus meiner Erinnerung hier ein paaar Tipps:
Erst mal zum fetchmail:
user "*@meine-domain.de"
Der Stern bringt hier wohl nix :)
envelove "Envelope-To:"
ist wohl nur ein Tippfehler hier im Forum, aber bitte checken.
localdomains linux.local
ist wohl falsch, oder? sollte auf "meine-domain.de" zeigen (siehe unten)

Grundsätzlich vermuite ich dass der fehler gar nnicht im fetchmail liegt. fetchmail holt ja brav ab und leifert vermutlich auch an den MTA aus (postfix?)
Aber letzterer stellt falsch zu. also liegt es an dessen konfig: Benutzer, Zuständigkeit für domain etc.
Also MTA konfig posten bzw. erstmal dessen logs prüfen warum er nicht zum user sondern zum postmaster zustellt.
 

michael77

Newbie
survial555 schrieb:
Hallo,
danke für den Tipp, aber so klappt es leider auch nicht.

Das ist eine fetchmailrc, die z.Z. produktiv im Einsatz ist - d.h. für mich, dass wahrscheinlich da etwas an deinem Postfix nicht mitspielen will.

Poste doch mal bitte die (anonymisierte) Ausgabe von # postconf

Und einen Auszug aus der /var/log/mail - vielleicht kann man dann etwas mehr erkennen.

survial555 schrieb:
Die eingegangenen Mails landen immer noch beim Benutzer, dem die fetchmailrc gehört.
Irgendwie muss es doch ein Argument geben wonach fetchmail sortiert. Nur welches?

Fetchmail filtert oder sortiert gar nicht. Fetchmail kann eigentlich nur Mails von einem Mailserver (POP/IMAP) abholen und an einen anderen Mailserver weiterleiten.
 
OP
S

survial555

Newbie
Hallo,
vielen Dank für die Postings.
Momentan hab ich das Phänomen, dass die Mail, wenn ich sie mit fetchmail abrufe, gleich wieder an verschickt wird, und zwar an die Adresse an die sie ursprünglich geschickt wurde. Ich steh echt auf dem Schlauch.
Hier einmal meine main.cf :

queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
mail_owner = postfix
unknown_local_recipient_reject_code = 550
debug_peer_level = 2
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
html_directory = /usr/share/doc/packages/postfix/html
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/packages/postfix/samples
readme_directory = /usr/share/doc/packages/postfix/README_FILES
inet_protocols = all
biff = no
mail_spool_directory = /var/mail
canonical_maps = hash:/etc/postfix/canonical
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_alias_domains = 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_exceptions = root
masquerade_classes = envelope_sender, header_sender, header_recipient
myhostname = mailserver.local
program_directory = /usr/lib/postfix
inet_interfaces = all
masquerade_domains =
mydestination = $myhostname,localhost.$mydomain,$mydomain
defer_transports =
mynetworks_style = subnet
disable_dns_lookups = no
relayhost = smtp.1und1.de
mailbox_command =
mailbox_transport =
strict_8bitmime = no
disable_mime_output_conversion = no
smtpd_sender_restrictions = hash:/etc/postfix/access
smtpd_client_restrictions =
smtpd_helo_required = no
smtpd_helo_restrictions =
strict_rfc821_envelopes = no
smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination
smtp_sasl_auth_enable = yes
smtpd_sasl_auth_enable = no
smtpd_use_tls = no
smtp_use_tls = no
alias_maps = hash:/etc/aliases
mailbox_size_limit = 0
message_size_limit = 10240000
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd

Ich habe Postfix bisher über Yast eingerichtet und mich dabei auf Web-Anleitungen gestützt. Wenn hier grobe Fehler drin sind, dann bitte ich dieses zu entschuldigen. Ich bin kein großer Linux Kenner. ;) Vielleicht wird das ja noch was mit eurer Hilfe.... Schon mal ein großes DANKE !
 

pft

Advanced Hacker
Momentan hab ich das Phänomen, dass die Mail, wenn ich sie mit fetchmail abrufe, gleich wieder an verschickt wird, und zwar an die Adresse an die sie ursprünglich geschickt wurde
Logisch! Das heißt doch nur, dass dein postfix funktioniert aber falsch konfiguriert ist.
Postfix nimmt die Mail an, erkennt, dass sie für eine fremde Domain bestimmt ist und verschickt sie daher nach "draussen"

IM einfachsten Fall lieg es daran, dass in deiner mydestination desfitrnion der Eintrag "localhost" fehlt. Probier also mal
Code:
mydestination = $myhostname,localhost.$mydomain,localhost,$mydomain

Zm anderen vermisse ich eine Definition von mydomain. Trag also ein
Code:
mydomain = meindedomain.de
wobei natprlich dein richtiger domainname zu verwenden ist. Und zwar deine Maildomain, nicht der Domaineintrag deines Servers, der wahrscheinlich keine registrierte Domain ist.
 
OP
S

survial555

Newbie
Hallo,
vielen Dank erst einmal für die geduldige Hilfe! Das finde ich wirklich SUPER!

Ich habe die vorgeschlagenen Änderungen / Ergänzungen vorgenommen, aber leider geht die Mail nach dem Abrufen durch fetchmal gleich wieder an die Adresse raus von der sie abgerufen wurde.

tail -f /var/log/mail gibt folgendes aus:
May 28 22:23:25 mailserver postfix/smtpd[5632]: connect from localhost[127.0.0.1]
May 28 22:23:25 mailserver postfix/smtpd[5632]: 7FF83766F: client=localhost[127.0.0.1]
May 28 22:23:25 mailserver postfix/cleanup[5635]: 7FF83766F: message-id=<0MKu60-1K1S4S2RHe-0000Pj@mx.kundenserver.de>
May 28 22:23:25 mailserver postfix/qmgr[5595]: 7FF83766F: from=<Absender-Adresse>, size=3131, nrcpt=1 (queue active)
May 28 22:23:25 mailserver postfix/smtpd[5632]: disconnect from localhost[127.0.0.1]
May 28 22:23:26 mailserver postfix/smtp[5636]: 7FF83766F: to=<Empfänger-Adresse>, relay=smtp.1und1.de[212.227.15.183], delay=1, status=sent (250 Message 0ML29c-1K1S4c0hLk-0004VQ accepted by mrelayeu6.kundenserver.de)
May 28 22:23:26 mailserver postfix/qmgr[5595]: 7FF83766F: removed


Ich bin ratlos ... :( Sieht noch jemand Hoffnung? ;)
 

oc2pus

Ultimate Guru
du kannst auch folgendes probieren:

in der /etc/fetchmailrc trägst du ein:
poll "KONTONAME"
proto pop3
via pop3.provider.de <== ANPASSEN
port 110
user "NAME" <== ANPASSEN
pass "GEHEIM" <== ANPASSEN
is "LOKALER NAME" <== ANPASSEN
nokeep
fetchall
no ssl
mda "/usr/bin/procmail /etc/procmailrc"

dann in /etc/procmailrc wird die Verteilung auf die lokalen Konten vorgenommen, z.Bsp:

LOGFILE=/var/log/procmail.log
LOGABSTRACT=yes
#VERBOSE=yes

SENDER=$1
SHIFT=1

###########################################################
# Liefere die Mail, wenn im To: der Mail "*.name@provider.de" zu finden ist an PERSON-A
###########################################################
:0
* ^To:.*name@provider.de
{
:0 c
* ^(cc|CC|Cc):.*PERSON-B@provider.de
! PERSON-B@lokale-domain

:0
! PERSON-A@lokale-domain
}
# WISO mailing-list
:0
* ^To:.*wiso-newsletter@zdf.de
! PERSON-A@lokale-domain

# VomFass Newsletter
:0
* ^From:.*redaktion@vomfass.de
! PERSON-A@lokale-domain

:0
* ^From:.*emoenke@gwdg.de
! PERSON-C@lokale-domain

etc ...
######################################################
# Dieser Eintrag muss IMMER zuletzt stehen, da davon ALLE Mails erfasst werden
# auf die bisher keine Regel zugetroffen hat.
######################################################
:0
! postmaster@lokale-domain

d.h. dein fetchmail holt alle mails ab, gibt sie an procmail, der filtert sie und sendet sie an die lokalen Benutzer deiner Domain.
 
OP
S

survial555

Newbie
@oc2pus:
Hallo und DANKE für deinen Beitrag!

So wie ich das verstehe, müßten die Einstellungen in der procmailrc müßten dann jedes mal überarbeitet werden bzw. ergänzt werden, wenn ein neuer Benutzer angelegt wird. Ist das richtig?

Ich weiß, dass ich mal einen Linux Rechner gesehen habe, wo man nur in Yast einen neuen Benutzer anlegen brauchte. Da war alles so eingestellt, dass der Rest über die Grundkonfiguration abgewickelt wurde. Ich weiß nur leider nicht mehr wo ich den gesehen habe....
 

oc2pus

Ultimate Guru
survial555 schrieb:
...
So wie ich das verstehe, müßten die Einstellungen in der procmailrc müßten dann jedes mal überarbeitet werden bzw. ergänzt werden, wenn ein neuer Benutzer angelegt wird. Ist das richtig?...

ja und nein, procmail versteht auch regex, d.h. man kann generische Filter-Regeln einsetzen. Das mit den news-groups war nur ein Beispiel zur Syntax Verdeutlichung.

Noch eine weitere Möglichkeit: einen imap-server aufsetzen, den adressieren und im imap dann mit sieve-Regeln die Filterung auf die einzelnen Postkörbe vornehmen.
 

pft

Advanced Hacker
sorry wenn ich mich nochmal einmische.
Das mit procmail ist zwar nett aber unnötig.

Wenn das nicht ohne procmail geht, dann hast Du definitiv noch einen Wurm in der postfix konfiguration und der muss raus! Sonst werden beispielsweise alle Mails innerhalb der Domain über den Mailprovider sprich das Internet geroutet

Der Auszug aus derm log zeigt klar, dass postfix sich für die Mails nicht zuständig fühlt - sollte er aber.
 

oc2pus

Ultimate Guru
Das mit procmail ist zwar nett aber unnötig.

es gibt Provider bei denen geht das nur so, weil sie EINEN Namen verwenden und man kann dann KEIN multidrop durchführen.

und zur Ergänzung:
man fetchmail, dort den Abschnitt: THE USE AND ABUSE OF MULTIDROP MAILBOXES

Sonst werden beispielsweise alle Mails innerhalb der Domain über den Mailprovider sprich das Internet geroutet
das stimmt so auch nicht ganz. So arbeitet postfix nicht. Das wäre sonst ein nettes offenes relay um spams zu versenden :mrgreen:
 

pft

Advanced Hacker
Hi oc2pus

ich denke wir müssen hier keinen Krieg vom Zaun brechen.
Meine Aussagen sind persönlichen Beispiel erprobt also nicht ganz verkehrt, auch wenn man Fälle kondstrueiren kann .
Die Probleme mit Multidrop sind mir sehr bekannt aber darum geht es doch hier überhaupt nicht. Die Probleme die michael77 hat sind eben KEINE multidrop Probleme.

es gibt Provider bei denen geht das nur so, weil sie EINEN Namen verwenden und man kann dann KEIN multidrop durchführen.
Einen Namen für was? Meinst Du die Fälle wo die Envelopeadresse nicht auswertbar ist? Da hast Du recht. In diesem Fall (1und1) geht das aber - hab ich nämlich auch. Mutlidrop Porbleme treten ja nur in speziellen Fällen auf (z.B. Mailinglisten) wo die "To" Adresse nicht weiterhilft.

das stimmt so auch nicht ganz. So arbeitet postfix nicht. Das wäre sonst ein nettes offenes relay um spams zu versenden
Da hast Du mich kräftig missverstanden. Es geht um Mail "von innen". Folglich ist die Frage nach dem offenen Relay überhaupt nicht tangiert.
Und wenn der postfix eine Mail vom Client für "meine-domain" bekommt und sich dafür nicht zuständig fühlt, dann wird er die nicht lokal zustellen sondern ins Internet schicken (smtp) - genau so arbeitet postfix nämlich - wo sie von fetchmail wieder eingefangen und über procmail zugestellt wird. Wer sowas mag kann es gerne tun, aber solche Misskonfigurationen werde ich hier nicht supporten.
Das kannst Du nur verhindern, wenn postfix sich zuständig fühlt und lokal zustellt (so sollte es sein) oder wenn du den Mail-clients sagst dass sich nicht über postfix sondern über procmail die Mail ausliefern sollen - keinen Ahnung ob das geht.

Ich würde in jedem Fall eine korrekte Konfiguration von postfix bevorzugen.
 

oc2pus

Ultimate Guru
das mit 1und1 habe ich überlesen, wenn dort multidrop funktioniert ist das fein. Das mailinglist Problem bleibt dennoch. Deshalb präferiere ich eben eine fetchmail/procmail Lösung.
 

pft

Advanced Hacker
@oc2pus:
wenn dort multidrop funktioniert ist das fein. Das mailinglist Problem bleibt dennoch. Deshalb präferiere ich eben eine fetchmail/procmail Lösung.
Leider nicht richtig: Das mailing listen Problem IST das multidrop Problem oder zumindest eine Ausprägung davon bzw. ein gutes Beispiel dafür.
Und genau das lässt sich duch die envelope-Option lösen, wenn der Provider diesen zusätzlichen Headereintrag erstellt pflegt und 1und1 tut das.
All das steht übrigens schön beschrieben in dem von Dir genannten Link :)

Was ich nicht verstehe ist, wie dann wenn das nicht geht procmail funktionieren kann.

Der Punkt ist doch, dass bei Mails an Mailinglisten der individuelle Empfänger nicht im Header steht, sondern nur im Envelope und wenn der vom Provider nicht in den Header kopiert wird, dann gibt es in der letztlich zugestellten Mail keinerlei Hinweis auf den Empfänger. Da hilft mir auch nicht das tollste Programm, auch nicht procmail.

Natürlich kann ich das Wissen, dass z.Bsp. Fritzchen die opensuse liste abonniert hat und Lieschen die barbie liste nutzen um zu sortieren und richtig zuzustellen. Aber das ist lästig zu administrieren und führt auch nicht weit. Spätetens wenn zwei Nutzer die gleiche Mailingliste abonnieren ist wieder Feierabend.

Aber es gibt ja noch die Möglichkeit sich eine ordentliche Mailboxzuzulegen, auch wenn es ein paar Pfennig kostet. Und dann hat man genug Mailadressen für alle und braucht sich mit dem Multidrop-Geschiss nicht mehr herumplagen.
 
OP
S

survial555

Newbie
Hallo zusammen,
ui ui ui .... da scheine ich aber eine hitzige Diskussion entfacht zu haben. *lach*

Zur Erklärung, warum ich diese Multidrop Geschichte gerne nutzen würde: Über diese Lösung lassen sich dann (wenn es funktioniert) einfach und schnell Postfächer für Benutzer anlegen. Wenn z.B. die Benutzer öfter wechseln, dann brauche ich nur im Linux System einen entsprechenden Benutzer anlegen, und die ganze Mail Geschichte ist bereits konfiguriert.
Andernfalls müßte ich jedes mal beim Provider eine neue Adresse anlegen, am Linux System einen Benutzer anlegen, die fetchmail wieder erweitern und pflegen etc ...
Ich hoffe es ist deutlich geworden was ich meine...

Nun gut, ich habe leider immer noch das Problem, dass die Mails nicht local zugestellt werden. Irgendwie ist es zum verzweifeln... Vielleicht hat jemand eine Beispiel-Konfiguration der main.cf für mich?
Man muss dem Problem ja irgendwie auf den Grund gehen können....
DANKE für eure Hilfe!
 

pft

Advanced Hacker
das ist die richtige Einstellung :)

In der Sache ist es so, dass Du die Einschränkungen bei multidrop schon kennen solltest. Das macht hin und wieder Probleme. Wie sehr hängt von deiner Konfig und der Nutzung deiner User ab.

Mit procmail kann man das etwas abmildern aber wirklich nur etwas und mit viel aufwand. Das ist ungefähr so als wenn diene Tante Gerda immer fehler/Lücken in den Adressen Ihrer Briefe hat und Du zu deinem Postboten gehst und sagst: "Werfen sie einfach alle Post von tante gerda in meinen Briefkasten, das ist ohnehin alles für mich"
Beurteil' es selbst.

Zu deinem Problem:
Poste nochmal:
log-Auszug einer hereinkommenden Mail
fetchmailrc
Ausgabe von postconf -n

Hast Du die Dienste auch ordentlich neu gestartet?

Bei der Anonymisierung bitte darauf achten dass gleiche strings durch gleiches ersetzt werden und unterschiedliche durch unterschiedliche: ist hier recht wichtig (domain eintrag!)
 
OP
S

survial555

Newbie
Hallo Leute!
Ich habe mal ein wenig herumexperimentiert und viel gelesen.
Dann habe ich scheinbar Lücken in meiner main.cf gefunden.
Dann habe ich Ergänzungen an folgenden Stellen gemacht:

- masquerade_domains
- myorigin

Dann Postfix neu gestartet und nun fluppt das fetchen der Mails. Genau so wie ich es haben wollte!


ABER ..... *grins* (wäre ja fast unmenschlich, wenn es kein ABER gäbe ... wir menschen kriegen ja nie genug!)
Kann ich den SpamAssassin und nen Virenfilter auch noch irgendwie integrieren? :?:
 
klar, ganz normal. Siehe die massig Anleitungen. Einmal auf den Spamassi durchleiten (master.cf, imapd.conf etcpp) und damit wird sdann auch auf Spam, Viren etc. geprüft. Einfach die einschlägigen Anleitungen lesen. Im Wiki steht auch was dazu. Das ist jetzt kein Hexenwerk mehr (nur eine Frage der Serverauslastung).

Grüße
 
Oben