fetchmail-procmail-spamassassin-cyrus problem

T

tha_fre4k

hiho,
erstmal stelle ich mich kurz mal vor hier ...
also ich komme aus dem schönen österreich, genauer gesagt: wien.
bin hier per googlen auf dieses forum gestoßen und habe eigentlich einen guten eindruck mitgenommen und hoffe das sich das hier auch bestätigt ;)

--smalltalk :D--

ich habe einen mailserver - welcher unter debian etch läuft - mit fetchmail-procmail-spamassassin-cyrus ans laufen gebracht.
klappt bis jetzt auch einwandfrei.
ich habe meine .fetchmailrc und .procmailrc beide im meinem root verzeichnis abgelegt. (ich meine nicht das absolute root verzeichnis (sprich /) sondern im ROOT verzeichnis (sprich /root bzw ~))
dort habe ich bis jetzt alle mails abgerufen und dann spamassassin per sa-learn gefüttert.
habe jetzt 290 spam mails und 204 ham mails wobei 200 das minimum ist)
spam wird auch richtig erkannt, lediglich ein paar mails werden fälschlich eingestuft, das lässt sich aber sicher wiederum per sa-learn beheben.

--ende smalltalk--

aber jetzt zum eigentlichen sinn der sache:

nun habe ich ein paar kollegen, welche sich auch gerne den spam von ihren mails rausfiltern lassen möchten.
ich kann ja aber nicht einfach so in der .fetchmailrc die daten von denen eintragen, da ja sonst nicht sie die mails bekommen würden, sondern ich.
wie müsste ich das da eintragen oder wie müsste ich da vorgehen, dass ich für jeden kollegen per IMAP ein eigenes konto zum abfragen der mails einrichten kann ?
ich würde euch bitten mir da ein wenig zu helfen, das wäre einsame klasse :)
ich bin jetzt darauf hinaus das mir alles vorgekaut wird, bin auch nicht mehr so der totale anfänger in sachen linux mehr, aber da habe ich so meine probleme.
also wenn mir da jemand helfen könnte, ... perfekt :D

mahlzeit und schönen gruß aus österreich
fre4k ;)
 
Trag in die Fetchmailconfig einfach in der Zeile für die Kollegen einfach ein:
Code:
poll imap.domain.tld protocol IMAP:
        user "XXX"
        fetchall
        is lokaler User
        password "XXX"
        ssl;
Das is lokaler_user gibt an, an wen die Mails zugestellet werden sollen
 
ok super danke werd ich machen :)
ich muss ja auch noch einen user im unix-system anmelden, da ja sonst der zugriff nicht klappt.
soll ich den user anlegen mit dem befehl adduser oder useradd oder passwd ?
die ganze geschichte sollte ja auch klappen :P
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

also ich habe jetzt den benutzer angelegt per adduser ...
danach noch passwort gesetzt ...
schlussendlich auch noch in cyrus eingetragen, und es SOLLTE laufen ...
tut es aber nicht.
die mails was an den kollegen gehen sollten, landen bei mir anstatt bei ihm ...
was habe ich da falsch gemacht ?
könnte mich da jemand bitte aufklären ?
 
Zuletzt bearbeitet von einem Moderator:
Poste mal bitte die fetchmail config (Passwörter und remote-user durch XXX ersetzen, lokalen Usernamen nicht ersetzen). Teste ausserdem ob du eine Mail an den lokalen User versenden kannst. (mail lokalerUser@localhost, dann Testtext eingeben und mit Strg-D versenden)
 
hey,
also lokal ne mail verschicken wird ja glaub ich nicht so ganz gehen, weil ja kein MTA installiert ist. oder stört das da nicht ?
anyway ... hier MEINE .fetchmailrc und .procmailrc:

.fetchmailrc:
Code:
poll mail.XXX.at
        proto pop3
        user "XXX"
        pass "XXX"
        is g0455a00
mda /usr/bin/procmail
(lokaler user ist selber wie remote ...)

.procmailrc:
Code:
DELIVER=/usr/sbin/cyrdeliver
LOGFILE=/var/log/procmail.g0455a00
VERBOSE=on
## Die Regel leitet alle Mails, die kleiner als 250kb sind an SPAMASSASSIN weiter
:0fw: spamassassin.lock
* < 256000
| spamassassin
## Alle Mails ab 15 Spampunkten werden in ein separates Verzeichnis sortiert
## Man koennte diese auch direkt loeschen.
:0: spamassassin.lock2
* ^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
| $DELIVER -e -a g0455a00 -m user.g0455a00.Junk
## Schlussendlich alle Mails an die Mailbox uebergeben.
:0 w
| $DELIVER -e -a g0455a00 -m user.g0455a00
~

die configs vom kollegen sehen vom aufbau genau so aus wie meine, nur dass der lokal - und remoteusername anders sind ... aber auch wiederum ist der lokale dem remote gleich.

mit diesen configs schaffe ich es die mails abzurufen ... jedoch ist da ein bombenfehler in dem ding...
hier ein kurzer auschnitt:
Code:
Nachricht g0455a00@mx1.XXX.at:1 von 1 wird gelesen (4152 Bytes)
#*****************************.**************************.************************procmail: Error while writing to "/var/log/procmail.g0455a00"
procmail: [2899] Sun Sep 28 19:38:04 2008
procmail: Executing "formail,-f,-I,From "
procmail: [2899] Sun Sep 28 19:38:04 2008
procmail: Match on "< 256000"
procmail: Locking "spamassassin.lock"
procmail: Executing "spamassassin"
procmail: [2899] Sun Sep 28 19:38:07 2008
procmail: Unlocking "spamassassin.lock"
procmail: No match on "^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*"
procmail: Executing "/usr/sbin/cyrdeliver,-e,-a,g0455a00,-m,user.g0455a00"
couldn't connect to lmtpd: Permission denied
procmail: Error while writing to "/usr/sbin/cyrdeliver"
procmail: Program failure (75) of "/usr/sbin/cyrdeliver"
procmail: Assigning "LASTFOLDER=/usr/sbin/cyrdeliver -e -a g0455a00 -m user.g0455a00"
procmail: Skipped "~"
procmail: Locking "/var/mail/g0455a00.lock"
procmail: Assigning "LASTFOLDER=/var/mail/g0455a00"
procmail: Opening "/var/mail/g0455a00"
procmail: Acquiring kernel-lock
procmail: Unlocking "/var/mail/g0455a00.lock"
procmail: Notified comsat: "g0455a00@49518:/var/mail/g0455a00"
 Subject: *****SPAM***** ViAA rezeptfrei bestellen
  Folder: /var/mail/g0455a00						   4415
 gelöscht
fetchmail: POP3> DELE 1
fetchmail: POP3< +OK Deleted.
fetchmail: POP3> QUIT
fetchmail: POP3< +OK Bye-bye.
fetchmail: 6.3.6 fragt ab mail.kabsi.at (Protokoll POP3) um Son 28 Sep 2008 19:38:07 CEST: Abfrage beendet
fetchmail: normale Beendigung, Status 0
ein fehler dürfte in der zeile stecken wo steht: couldn't connect to lmtpd: Permission denied
hoffe du bzw ihr könnt was damit anfangen ... ich google auch schon seit mittag nach dem fehler, aber null resultat bis jetzt :(
 
Ach Mist, ich verwechsel immer Courier und Cyrus und dachte daher du hättest einen lokalen MTA und fetchmail liefert dann per SMTP die Mails an den lokalen Server... Den Procmail Mechanismus kenne ich bisher nicht. Wie läuft das denn, fetchmail als cronjob? Welcher User führt den denn aus? Und mit welchem Account rufst du deine Mails dann ab?
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

Eine Idee wäre, für jeden User Cronjobs und entsprechende Konfigs anzulegen. Und wahrscheinlich wäre das auch das einfachste...
 
Zuletzt bearbeitet:
das mit den crons wäre ja nicht das problem, aber es geht darum, dass entweder procmail die mails nicht weiterleitet an cyrus (eher unwarscheinlich da ja sonst cyrus nicht den fehler liefern würde) oder eben cyrus ein problem hat ... welches ich aber leider nicht weiß.

der mechanismus funtzt bei mir so: Fetchmail (holt mails der jeweiligen user bei angegebenen servern ab) --> Procmail (übernimmt die filterung von spam) --> cyrus (stellt die mails allen im cyradm eingetragenen usern zur verfügung)

ich weiß nicht ob es hier erlaubt ist auf andere seiten zu verlinken, aber hier ist die anleitung nach der ich gegangen bin:

http://www.denkweite.de/2007-03-10/lokaler-mailserver-mit-fetchmail-procmail-und-cyrus/

(sollte es nicht gestattet sein, bitte ich einen admin, mod, o.ä. mich zu korrigieren)
 
Du kannst doch auch mit procmail die Mails auf die Benutzer verteilen oder versteh ich da was falsch?
 
Code:
DELIVER=/usr/sbin/cyrdeliver
LOGFILE=/var/log/procmail.g0455a00
VERBOSE=on
## Die Regel leitet alle Mails, die kleiner als 250kb sind an SPAMASSASSIN weiter
:0fw: spamassassin.lock
* < 256000
| spamassassin
## Alle Mails ab 15 Spampunkten werden in ein separates Verzeichnis sortiert
## Man koennte diese auch direkt loeschen.
:0: spamassassin.lock2
* ^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
| $DELIVER -e -a g0455a00 -m user.g0455a00.Junk
## Schlussendlich alle Mails an die Mailbox uebergeben.
:0 w
| $DELIVER -e -a g0455a00 -m user.g0455a00
~

Code:
DELIVER=/usr/sbin/cyrdeliver
LOGFILE=/var/log/procmail.g0455a00
VERBOSE=on
## Die Regel leitet alle Mails, die kleiner als 250kb sind an SPAMASSASSIN weiter
:0fw: spamassassin.lock
* < 256000
| spamassassin
## Alle Mails ab 15 Spampunkten werden in ein separates Verzeichnis sortiert
## Man koennte diese auch direkt loeschen.
:0: spamassassin.lock2
* ^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
| $DELIVER -e -a g0455a00 -m user.g0455a00.Junk
## Schlussendlich alle Mails an die Mailbox uebergeben.

:0w
* ^To:.Email@deskollegen.de
| $DELIVER -e -a kollege -m user.kollege

:0 w
| $DELIVER -e -a g0455a00 -m user.g0455a00
~
 
Code:
DELIVER=/usr/sbin/cyrdeliver
LOGFILE=/var/log/procmail.g0455a00
VERBOSE=on
## Die Regel leitet alle Mails, die kleiner als 250kb sind an SPAMASSASSIN weiter
:0fw: spamassassin.lock
* < 256000
| spamassassin
## Alle Mails ab 15 Spampunkten werden in ein separates Verzeichnis sortiert
## Man koennte diese auch direkt loeschen.
:0: spamassassin.lock2
* ^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
| $DELIVER -e -a g0455a00 -m user.g0455a00.Junk
## Schlussendlich alle Mails an die Mailbox uebergeben.
:0 w
| $DELIVER -e -a g0455a00 -m user.g0455a00
~

Code:
DELIVER=/usr/sbin/cyrdeliver
LOGFILE=/var/log/procmail.g0455a00
VERBOSE=on
## Die Regel leitet alle Mails, die kleiner als 250kb sind an SPAMASSASSIN weiter
:0fw: spamassassin.lock
* < 256000
| spamassassin
## Alle Mails ab 15 Spampunkten werden in ein separates Verzeichnis sortiert
## Man koennte diese auch direkt loeschen.
:0: spamassassin.lock2
* ^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
| $DELIVER -e -a g0455a00 -m user.g0455a00.Junk
## Schlussendlich alle Mails an die Mailbox uebergeben.

:0w
* ^To:.Email@deskollegen.de
| $DELIVER -e -a kollege -m user.kollege

:0 w
| $DELIVER -e -a g0455a00 -m user.g0455a00
~

okay, aber die 2 files müssten dann ins root-verzeichnis stimmts ?
werd ich dann nachher gleich mal testen ;)
danke trotzdem schon mal :)
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

achja btw .... aber eine andere möglichkeit gibt es nicht ?
müsste ja auch zu machen sein, dass ich das auf normalen wege ans laufen bekomme.
also für jeden im unix system eingetragenen user eine eigene .fetchmailrc und .procmailrc ...
müsste doch irg.wie zu machen sein :think:
 
Zuletzt bearbeitet von einem Moderator:
nene, die ober conf ist deine alte, muesset nur mit der unteren gehn
 
nene, die ober conf ist deine alte, muesset nur mit der unteren gehn

hm also soweit ich mich da auskenne wird da wenn für jeden user eine eigene fetchmailrc und procmailrc im homeverzeichnis benötigt ... aber kommen wir mal zur sache zurück.
warum der fehler immer auftaucht:
couldn't connect to lmtpd: Permission denied

das würde mich mal brennend intressieren ...
 
Beantworte doch mal meine Fragen was unter welchem Useraccount läuft..
 
ich rufe eigentlich die mails daweil per webmin ab, der den befehl "fetchmail" an die jeweilige konsole des gefragten users sendet .... joa und dann bekomm ich die fehlermeldungen.
früher als ich nur meine mails abgerufen hatte, habe ich als root auf der shell immer "fetchmail" eingegeben und meine mails waren in meinem IMAP postfach.
 
Also ich habe auch diese "Verbindung" im Einstaz: fetchmail, procmail, cyrus und postfix

Ich habe eine fetchmailrc in der alle Mailkonten drin stehen:

Code:
poll mail.mailserver.de proto pop3 user user@mailserver.de pass XXXXXX mda procmail /etc/procmailrc

poll mail.mailserver.de proto pop3 user user2@mailserver.de pass XXXXXX mda procmail /etc/procmailrc

poll mail.mailserver.de proto pop3 user user3@mailserver.de pass XXXXXX mda procmail /etc/procmailrc

Ok, das ist jetzt ohne spamassassin

dann hab ich noch eine procmailrc:

Code:
LOGFILE="/var/log/procmail.log"
VERBOSE=ON
DELIVERMAIL="/usr/sbin/cyrdeliver"

:0fw
| formail -f -I "From "
#Ohne das, ging was anderes nicht, ich glaube es war cyrdeliver

:0w
* ^To:.*user.mailserver.de
|$DELIVERMAIL -a -m user

:0w
* ^To:.*user2.mailserver.de
|$DELIVERMAIL -a -m user2

:0
|$DELIVERMAIL -a -m user3
#alles was noch nich weg is kommt zu user3, dass bin ich

Ich lasse leider noch alles von root erledigen (ich weiss grosse sicherheitsluecke, war nur zu faul es umzustellen, da der server eh bald durch einen anderen ersetzt wird)

Mit
Code:
fetchmail -f /etc/fetchmailrc -d 300
werden die Mails im 5 Minuten Takt abgeholt.

Also probier die confs an deine Gegebenheiten mal anzupassen und berichte mit den entsprechenden logs.

P.S.: Versuch zu testzwecken ein keep in der fetchmailrc, dann werden die Mails auf dem Server nicht geloescht.
 
Also ich habe auch diese "Verbindung" im Einstaz: fetchmail, procmail, cyrus und postfix

Ich habe eine fetchmailrc in der alle Mailkonten drin stehen:

Code:
poll mail.mailserver.de proto pop3 user user@mailserver.de pass XXXXXX mda procmail /etc/procmailrc

poll mail.mailserver.de proto pop3 user user2@mailserver.de pass XXXXXX mda procmail /etc/procmailrc

poll mail.mailserver.de proto pop3 user user3@mailserver.de pass XXXXXX mda procmail /etc/procmailrc

Ok, das ist jetzt ohne spamassassin

dann hab ich noch eine procmailrc:

Code:
LOGFILE="/var/log/procmail.log"
VERBOSE=ON
DELIVERMAIL="/usr/sbin/cyrdeliver"

:0fw
| formail -f -I "From "
#Ohne das, ging was anderes nicht, ich glaube es war cyrdeliver

:0w
* ^To:.*user.mailserver.de
|$DELIVERMAIL -a -m user

:0w
* ^To:.*user2.mailserver.de
|$DELIVERMAIL -a -m user2

:0
|$DELIVERMAIL -a -m user3
#alles was noch nich weg is kommt zu user3, dass bin ich

Ich lasse leider noch alles von root erledigen (ich weiss grosse sicherheitsluecke, war nur zu faul es umzustellen, da der server eh bald durch einen anderen ersetzt wird)

Mit
Code:
fetchmail -f /etc/fetchmailrc -d 300
werden die Mails im 5 Minuten Takt abgeholt.

Also probier die confs an deine Gegebenheiten mal anzupassen und berichte mit den entsprechenden logs.

P.S.: Versuch zu testzwecken ein keep in der fetchmailrc, dann werden die Mails auf dem Server nicht geloescht.

funktionsprinzip ist bei mir ja genau so ...
nur eben ohne postfix ... da ich keine mails über mein server schicke sondern eben nur abrufe und den spam rausfiltere.
ich denke wenn ich es jetzt so wie bei dir übernehmen würde, würde ich aufs selbe hinauskommen :rolleyes:
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

btw.
mittlerweile schaffe ich es zwar mails abzurufen, jedoch scheitert es immer wieder beim selben punkt ... das übergeben an lmtpd.
fehlermeldung wie folgt: couldn't connect to lmtpd: Permission denied
bekomm ich bei jedem user (nicht root).
 
Zuletzt bearbeitet von einem Moderator:
und wie? wenn andere leute das selbe problem haben koennten si dann ja mal die sufu benutzen und bekaemen die raetsels loesung
 

Ähnliche Themen

Fragen rund um den Courier Imap Server

Procmail überschreibt die mails

Procmail & Spamassassin Problem

Postfix, Cyrus, Fetchmail

Zurück
Oben