PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fetchmail für cyrus



craano
07.04.08, 12:30
Hallo,

wie kann ich fetchmail beibringen, dass die abgeholten Emails in die entsprechenden cyrus Postfächer abgelegt werden und nicht in den lokalen Mailspool?

.fetchmail

#.fetchmailrc

#Server Freenet
server mx.freenet.de
proto pop3

#Benutzer und Password
user test@XXX.de
pass test12345678

#Optionen
to imapu


imapu ist zZ ein Systembenutzer.
Mit cyradm habe ich eine Mailbox mit gleichem Namen angelegt. Ich kann mich auch mit Thunderbird verbinden, doch werden leider die abgeholten Mails nicht angezeigt.

Mit

mail -u imapu
kann ich die Mails aber lokal sehen.

Benutze Fetchmail, da ich Postfix nur für ausgehenden SMTP Traffic einsetze (Hoffe das ist sinnvoll | einfacher zu konfigurieren)

Was muss ich in der .fetchmail verändern?
Grüße.
craano.

marce
07.04.08, 12:33
evtl. suchst Du statt "to" "mda"?

http://www.linuxforen.de/forums/showthread.php?t=30158

craano
07.04.08, 12:52
Habe mich jetzt schon ewig damit herumgeschlagen. Bin froh, dass ich cyrus und Postfix einigermaßen zum laufen gebracht habe.

Kannst Du mir etwas auf die Sprünge helfen, muss ich jetzt noch Procmail (oder ähnlichen mda) dazwischen schalten oder kann ich dazu auch Postfix verweden (nur wie) oder kann Fetchmail das vielleicht alleine?

Beschäftige mich neu mit diesem Thema. Möchte gerne einen egroupware Server bauen, das hier sind die "Vorarbeiten".

Grüße.
craano.

marce
07.04.08, 12:54
die obige Anleitung verwendet procmail - mehr kann ich auch nicht sagen, da ich weder cyrus noch procmail im Einsatz habe...

craano
07.04.08, 14:41
Ich finde einfach den einstieg nicht.

Hoffe ich finde noch einen Mailserver-Experten hier.
Muss ich wirklich Procmail nehmen um die "gefetchten" Mails in Cyrus einzusortieren? Wäre nett, wenn jemand mal ein Config Beispiel dazu posten könnte.

Eigentlich gibt Fetchmail die Emails doch an 127.0.0.1:25 weiter, das müsste ich doch mit Postfix aufgreifen können, nur und dann?

Anbei mal meine Postfix main.cf master.cf (bislang nur zum Versenden benutzt)

# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = xxx.homelinux.org
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
#mydestination =

relayhost = mx.freenet.de


mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = ipv4

smtp_sasl_auth_enable = yes


smtp_sasl_security_options = noplaintext noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password

sender_canonical_maps = hash:/etc/postfix/sender_canonical



# Postfix master process configuration file. For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# ================================================== ========================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ================================================== ========================
smtp inet n - - - - smtpd
#submission inet n - - - - smtpd
# -o smtpd_enforce_tls=yes
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticate d,reject
#smtps inet n - - - - smtpd
# -o smtpd_tls_wrappermode=yes
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticate d,reject
#628 inet n - - - - qmqpd
pickup fifo n - - 60 1 pickup
cleanup unix n - - - 0 cleanup
qmgr fifo n - n 300 1 qmgr
#qmgr fifo n - - 300 1 oqmgr
tlsmgr unix - - - 1000? 1 tlsmgr
rewrite unix - - - - - trivial-rewrite
bounce unix - - - - 0 bounce
defer unix - - - - 0 bounce
trace unix - - - - 0 bounce
verify unix - - - - 1 verify
flush unix n - - 1000? 0 flush
proxymap unix - - n - - proxymap
smtp unix - - - - - smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay unix - - - - - smtp
-o smtp_fallback_relay=
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - - - - showq
error unix - - - - - error
retry unix - - - - - error
discard unix - - - - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - - - - lmtp
anvil unix - - - - 1 anvil
scache unix - - - - 1 scache
#
# ================================================== ==================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent. See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ================================================== ==================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
#
# See the Postfix UUCP_README file for configuration details.
#
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 pipe
flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman unix - n n - - pipe
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}




Wie gesagt, ich finde den Einstieg nicht, sitze wahrscheinlich schon zu lange hiervor.

Grüße.
craano.

stefaan
07.04.08, 18:58
Servus!

Folgendes funktioniert hier mit Postfix, Fetchmail und Cyrus:


poll bla.at
proto pop3
via pop3.bla.at
user "12321323"
pass "xyyeess"
is "verwaltung+Eingang" here
mda "/usr/sbin/sendmail -oem -f %F %T"
# keep

Holt die Mails ab und verschiebt sie in den Unterordner "Eingang" der Mailbox "verwaltung".

"Manchmal" (=2-3x im Jahr) gibt es böse Mails mit falschen Headern order was auch immer, wo fetchmail dann streikt. Einen Ersatz (getmail) habe ich noch nicht probiert.

Grüße, Stefan

craano
07.04.08, 19:11
Danke,

habe vor einigen Minuten endlich auch eine funktionierende Lösung zum Laufen gebracht. Ganz ohne Postfix / Sendmail


poll "mx.freenet.de" protocol POP3 : user "xxx@.yyyde" there with password "test1234" mda "/usr/sbin/cyrdeliver -e -a imapu -m user.imapu" ;

Böse Header?
Der nächste Schritt ist ja nun eine Umleitung über einen Viren- / Spamfilter, aber das gehört in einen anderen Faden. Vielleicht hat sich dann das Header Problem erledigt.

Grüße.
craano.

Roger Wilco
08.04.08, 17:36
poll "mx.freenet.de" protocol POP3 : user "xxx@.yyyde" there with password "test1234" mda "/usr/sbin/cyrdeliver -e -a imapu -m user.imapu" ;
Sicher, dass du mx.freenet.de als Hostname benutzen willst? Im Moment stimmt es zufällig, aber das kann sich ja ändern...


Böse Header?
Die z. B. "\0" enthalten und cyrdeliver die E-Mails deshalb nicht annimmt.

craano
08.04.08, 18:41
Sicher, dass du mx.freenet.de als Hostname benutzen willst? Im Moment stimmt es zufällig, aber das kann sich ja ändern...


Das verstehe ich jetzt nicht. "mx.freenet.de" ist der Server, von dem Fetchmail die Emails abholen soll, die Emails werden dann weiter lokal zugestellt. Ich kann mir den Servernamen doch nicht aussuchen.

Grüße.
craano.

Roger Wilco
08.04.08, 18:51
Das verstehe ich jetzt nicht. "mx.freenet.de" ist der Server, von dem Fetchmail die Emails abholen soll, die Emails werden dann weiter lokal zugestellt. Ich kann mir den Servernamen doch nicht aussuchen.
Richtig. mx.freenet.de ist aber der (bzw. die) MX Host von freenet.de. Du willst vermutlich den Hostname pop3.freenet.de benutzen, welcher derzeit zufällig ein CNAME für mx.freenet.de ist.

Das kann sich aber ändern, wenn Freenet bspw. beschließt die MX Hosts auf dedizierte Server zu migrieren und die POP3/IMAP-Server nicht migriert.

War auch nur als Hinweis gemeint...

Legolaus
09.04.08, 22:42
Danke,

habe vor einigen Minuten endlich auch eine funktionierende Lösung zum Laufen gebracht. Ganz ohne Postfix / Sendmail


poll "mx.freenet.de" protocol POP3 : user "xxx@.yyyde" there with password "test1234" mda "/usr/sbin/cyrdeliver -e -a imapu -m user.imapu" ;



Ist das auch für fetchmail gedacht? Kannst du das noch mal bitte besser beschreiben?

Gruss

craano
10.04.08, 07:48
Ist das auch für fetchmail gedacht? Kannst du das noch mal bitte besser beschreiben?

Gruss

Ja das ist meine fetchmailrc.
Von diesem Server sollen die Emails abgerufen werden:

poll "mx.freenet.de" protocol POP3 : user "xxx@.yyyde" there with password "test1234" ...
Der Eintrag hinter mda sorgt dafür, dass die Emails an cyrdeliver weitergegeben werden.

... mda "/usr/sbin/cyrdeliver -e -a imapu -m user.imapu" ;

cyrdeliver gehört zum IMAP - Server Cyrus. Die Option -m git das IMAP - Postfach an, in das die Email einsortiert werden soll.

Ich bin immer noch an einer Procmail / Postfix Lösung interessiert, hatte nur in den letzten zwei Tagen keine Zeit mich damit weiter zu beschäftigen (so funktioniert es ja erstmal). Vielleicht hat jemand noch eine Idee. Denn nur mit Fetchmail kann ich die Emails ja nicht durch einen Spamfilter / Virenprüfer jagen, oder?

Grüße.
craano.

Roger Wilco
10.04.08, 21:51
Ich bin immer noch an einer Procmail / Postfix Lösung interessiert
Du könntest '/usr/sbin/sendmail' mit den entsprechenden Parametern als MDA angeben. Ich weiß allerdings nicht, wo das Problem liegen soll, die E-Mails von Fetchmail direkt an procmail zu übergeben.


Vielleicht hat jemand noch eine Idee. Denn nur mit Fetchmail kann ich die Emails ja nicht durch einen Spamfilter / Virenprüfer jagen, oder?
Fetchmail -> Procmail -> Spam-/Virenprüfung -> Cyrdeliver
Fetchmail -> Sendmail/Postfix (mit entsprechendem Empfänger) -> Spam-/Virenprüfung -> Postfix -> Cyrus

Bei mir funktioniert das bspw. mit Getmail -> dspam -> ClamAV -> Cyrus.