Toon posts:

Procmail werkt en toch niet

Pagina: 1
Acties:
  • 47 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb een groot probleem :(
systeem specs :

Os : redhat 8.0
mail systeem : postfix, fetcmail en procmail

Ik haal mail op via fetchmail (1 pop account) die gooit het naar postfix en die op zijn beurt naar procmail. :X

Soms werkt procmail gewoon niet. :(

De filters staan goed en werken meestal maar met het zelfde test mailtje laat hij soms iets vallen. :'(

Dit is dus totaal onlogisch. :?

het werkt of het werkt niet. :?

Soms slaat hij een complete regel over.

De postfix is praktisch bijna default op de standaard settings na domain etc.

Heeft iemand een id plz ik wordt gek. 8)7

DIt is trouwens via mail van buiten af.

hints, suggesties welkom. _/-\o_

als er nog meer info nodig is hoor ik het graag.
Ik ga ondertussen fijn verder zoeke op inet.

tnx _/-\o_

  • hammerhead
  • Registratie: April 2000
  • Laatst online: 07-05 08:16
Je kunt op zich wel zien waarom de emailtjes worden weggegooid door procmail door even onderstaande code in je procmailrc te zetten:
code:
1
2
LOGFILE=$HOME/procmail.log
VERBOSE=on

Hij laat nu voor elk emailtje zien aan welke regels er wordt voldaan en welke niet. Hij zet een logbestand hiervan neer in de homedir van de gebruiker.

Aviation is proof that given the will, we have the capacity to achieve the impossible.
--Eddie Rickenbacker


  • bkor
  • Registratie: November 2000
  • Niet online
Kan je wat meer info geven? Bv: logs van postfix&fetchmail, mails in mailq ja/nee? Nog speciale dingen in je procmailrc (in /etc en ~/.procmailrc)?
Soms werkt procmail gewoon niet.[..]laat hij soms iets vallen.
Hoe weet je dat het aan procmail ligt? Ik begrijp dat er tekens missen uit een testmail en soms zoveel karakters dat een hele regel wegvalt? Je mist dus geen complete mails?
DIt is trouwens via mail van buiten af.
Dus niet als je lokaal test, bv door het mailtje direct naar procmail sturen?

Daarnaast kan je ngrep (of een andere sniffer zoals ethereal) 2x runnen. Eén keer op je internet interface (eth0 ofzo) en de andere op de lo-device. Missen daar al regels? En als je hetzelfde mailtje nog een keer stuurt, mis je dan dezelfde tekens?

Verwijderd

Topicstarter
ik heb die logfile aangezet ben benieuwd wat er uitkomt.

/quote
Kan je wat meer info geven? Bv: logs van postfix&fetchmail, mails in mailq ja/nee? Nog speciale dingen in je procmailrc (in /etc en ~/.procmailrc)?
/quote

in mijn logfile van postfix staat dat hij het doorstuurd naar procmail (path staat goed)
En mijn mailq is bijna altijd leeg.

beneden de procmail filter van het account die de mail ophaalt.

LOGFILE=$HOME/procmail.log
VERBOSE=on
:0Hhbf
* patrick@mijndomein
* webmaster@mijndomein
* mijndomein@cistron
! patrick@mijndomein.com

:0Hhbf
* peter@mijndomein
* verkoop@mijndomein
* sales@mijndomein
! peter@mijndomein.com

:0Hhbf
* fred@mijndomein
! fred@mijndomein.com

:0Hhbf
* info@mijndomein
* !ditiseenemaildieniemandooitzalgebruikendenkiktoevallig@mijndomein.com
! fred@mijndomein.com peter@mijndomein.com patrick@mijndomein.com

  • bkor
  • Registratie: November 2000
  • Niet online
Geen idee waarom je soms tekens/regels mist, maar alvast wat opmerkingen over je procmailrc.

Waarom gebruik je Hhbf? Hhb zijn standaard, die hoef je niet te specificeren. De f is om aan te geven dat '|' een filter is. Niet erg nuttig als je de ! gebruikt. Gewoon :0 lijkt me al iets beter.
Verder werkt je procmailrc niet goed als patrick@blabla een mail stuurt naar peter@. Je wilt dat die mail aankomt bij peter@, maar patrick@ staat in de From:, en je eerste filter stuurt de mail al door naar patrick@.
Vervang al die regels zoals
* patrick@mijndomein
door iets als:
* ^TO_patrick@mijndomein

En misschien kan fetchmail dit al voor je doen met de multidrop/postmaster/aka/localdomain opties.

Verwijderd

Topicstarter
komen de cc en bcc dan ook op de goede plek ?

Verwijderd

Topicstarter
:0
* ^TO_patrick@mijndomein
! patrick@mijndomein.com

dit komt helemaal niet aan ?
de regel staat in /etc/procmailrc


ik wordt gefrustreerd 8)7

[ Voor 12% gewijzigd door Verwijderd op 02-05-2003 11:24 ]


  • bkor
  • Registratie: November 2000
  • Niet online
Een kopie kan je aangeven met de 'c' flag. Check man procmailrc, procmailex en de procmail mini-faq (google). De ^TO_ wordt vervangen door een regexp. De bcc zal fout gaan, in de manpage van fetchmail staat daar een heel verhaal over.

Als dit je /etc/procmailrc was, snap ik niet dat dit ooit heeft gewerkt. :)
Ik neem aan dat de mailserver voor patrick@mijndomein.com dezelfde machine is als waar fetchmail op draait. Als postfix alle mail aflevert met procmail, kan je dan aangeven waar ik fout zit met mijn aanname (fetchmail user = fmu in m'n voorbeeld):
1. Mail komt binnen op pop account
2. Fetchmail haalt het op en dumpt het naar localhost:25
3. Postfix ontvangt de mail, dumpt het naar procmail voor user fmu
4. Procmail start, filtert de mail met /etc/procmailrc.. stuurt het bv door naar patrick@mijndomein.com
5. Postfix ontvangt de mail voor patrick@mijndomein.com, stuurt het naar procmail voor user patrick
6. Procmail start, filtert de mail met /etc/procmailrc.. stuurt het door naar patrick@mijndomein.com
7. Ga naar 5

Alleen heeft het bij jouw gewerkt...

Verwijderd

Topicstarter
bkor schreef op 02 May 2003 @ 11:42:
Een kopie kan je aangeven met de 'c' flag. Check man procmailrc, procmailex en de procmail mini-faq (google). De ^TO_ wordt vervangen door een regexp. De bcc zal fout gaan, in de manpage van fetchmail staat daar een heel verhaal over.

Als dit je /etc/procmailrc was, snap ik niet dat dit ooit heeft gewerkt. :)
Ik neem aan dat de mailserver voor patrick@mijndomein.com dezelfde machine is als waar fetchmail op draait. Als postfix alle mail aflevert met procmail, kan je dan aangeven waar ik fout zit met mijn aanname (fetchmail user = fmu in m'n voorbeeld):
1. Mail komt binnen op pop account
2. Fetchmail haalt het op en dumpt het naar localhost:25
3. Postfix ontvangt de mail, dumpt het naar procmail voor user fmu
4. Procmail start, filtert de mail met /etc/procmailrc.. stuurt het bv door naar patrick@mijndomein.com
5. Postfix ontvangt de mail voor patrick@mijndomein.com, stuurt het naar procmail voor user patrick
6. Procmail start, filtert de mail met /etc/procmailrc.. stuurt het door naar patrick@mijndomein.com
7. Ga naar 5

Alleen heeft het bij jouw gewerkt...
euh....ja
ik nam aan dat als postfix het van procmail krijgt dat hij het niet meer naar procmail stuurt.
....asumption is the mother of all fuckups .......
hmmm heb ik dus totaal verkeerd zitten klooien.

ok.

wat ik heb is 1 pop account op inet.
fetchmail haalt het op en dan moet het onderzocht worden of patrick@ peter@ etc.
Dan moet hij dat in de mailbox gooien van patrick en/of peter

  • bkor
  • Registratie: November 2000
  • Niet online
Als de mail via Bcc binnen komt, dan is het bijna niet uit te vogelen voor welke gebruiker deze bedoelt is. Dat hele verhaal kan je in fetchmail terugvinden.

Hoe je zoiets in procmail kan doen: Het ligt eraan of je provider meerdere mails stuurt als een mailtje gericht is aan meerdere @mijndomein personen. Het kan zijn dat de provider dan meerdere mails stuurt en in een header (zoals Delivered-To:) de originele alias zet. Dat is makkelijk om in je procmailrc te filteren en dan zal de Bcc ook goed gaan.

Ik neem aan dat je voor een mailtje gericht aan meerdere personen binnen @mijndomein maar één mailtje in je popbox ziet. Nu zal je zelf dus uit moeten vogelen aan hoeveel personen het gericht is. Dit gaat dus fout met een Bcc. Als je niet kan uitvogelen waar het mailtje naartoe moet, dan lever je het aan iemand die daarvoor verantwoordelijk is.

Dus je structuur is ongeveer:
code:
1
2
3
4
5
6
7
8
9
10
11
Is het voor patrick/nogiets/ietsanders: Stuur kopie naar patrick
Is het voor peter/bla/foo: Stuur kopie naar peter
Is het voor fred/bar: Stuur kopie naar fred
(etc voor zoveel mensen als nodig)

en als laatste:
Indien mailtje nog naar niemand gestuurd is:
  (bcc)
  Stuur mailtje naar persoon_verantwoordelijk
anders:
  Stuur naar /dev/null


Om bij te houden of de mail al naar iemand gestuurd is kan je een variable gebruiken. Vergeet niet de procmailrc aan te maken in ~/.procmailrc.

Ik stop nu met het uitwerken hiervan.. anders leer je niks :)

Verwijderd

Topicstarter
OK maar de bovenstaande code was dus van ~/.procmailrc. de dezelfde gebruiker die dus de mail ophaalt.
Deze stuurt het naar de andere gebruikers.
Zo komt er nooit mail in de inbox van de user die de mail ophaalt.

dan werkt het toch wel ? dan heb ik het toch goed gedaan ?

Verwijderd

Topicstarter
user inbox haalt mail via fetchmail
user inbox heeft een procmail filter
deze stuurt het door aan de hand van de filters
/etc/procmailrc is leeg (op verbose logging na)
dit moet toch werken

  • bkor
  • Registratie: November 2000
  • Niet online
Er kunnen nog wat dingen fout gaan. Wat zou er gebeuren als een mail extern naar patrick@ en peter@ gestuurd wordt? Wat gebeurt er als extern patrick@ een mailtje via bcc krijgt?

Verwijderd

Topicstarter
Hmmm fetchmail haalt de email binnen gooit deze naar de user inbox
daar gaat hij door procmail en die heeft een match op patrick maar hij stuurt deze niet door.

/log file
1 message for inbox@DOMAIN.COM at DOMAIN.COM (967 octets).
cleaprocmail: [30421] Sun May 4 17:32:06 2003
procmail: Assigning "PATH=/home/inbox/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin"
procmail: No match on "user1@"
procmail: Match on "patrick@"
procmail: No match on "webmaster@"
procmail: No match on "user3@"
procmail: Bypassed locking "/var/spool/mail/inbox.lock"
procmail: Assigning "LASTFOLDER=/var/spool/mail/inbox"
procmail: Opening "/var/spool/mail/inbox"
procmail: Acquiring kernel-lock
procmail: Notified comsat: "inbox@3122020:/var/spool/mail/inbox"
From inbox Sun May 4 17:32:06 2003
Subject: patrick@DOMAIN.COM
Folder: /var/spool/mail/inbox 1119
reading message 1 of 1 (967 octets) flushed
fetchmail: No mail for een_user at pop3.cistron.nl
/logfile

/.procmailrc van user inbox

LOGFILE=$HOME/procmail.log
VERBOSE=on
:0Hhbf
* user1@
* jaja@
* wateenweer@
! user1@DOMAIN.COM
:0Hhbf
* patrick@
* webmaster@
! patrick@DOMAIN.COM
:0Hhbf
* user3@
! user3@DOMAIN.COM
/EOF

/fetchmail van user inbox
poll DOMAIN.COM
proto pop3
via mail.DOMAIN.COM
user "inbox@DOMAIN.COM"
pass "bennietgek"
is inbox
nokeep
fetchall
mda "/usr/bin/procmail -d inbox"
poll cistron.nl
proto pop3
via pop3.cistron.nl
user "een_user"
pass "ditishetniet"
is inbox
nokeep
fetchall
mda "/usr/bin/procmail -d inbox"
/EOF

Dit moet toch goed zijn ?

ik kijk er overheen :? 8)7

Verwijderd

Topicstarter
zelfs onder root werkt het niet ..... iemand met een id plz

Verwijderd

Topicstarter
LOGFILE=$HOME/procmail.log
VERBOSE=on
:0c:/tmp/proclockpatrick.lock
* ^From|To|Cc.*patrick@domein*
! patrick@domein.com

Dit werkt alleen aan het einde naar /dev/null gooien oid je moet dus aparte lock files maken !!!!!!!
ander verslikt procmail zich

het From is natuurlijk niet nodig tenzij je graag je eigen meels ontvangt (voor de nerds ;-)> )

[ Voor 17% gewijzigd door Verwijderd op 05-05-2003 01:17 ]


Verwijderd

Topicstarter
probleem is nu dat hij het soms doorlaat AAARGH

:( :( :( :( :(

  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

En nu mag je eens goed gaan kijken waar dit knopje voor is: Afbeeldingslocatie: http://gathering.tweakers.net/global/templates/got/images/icons/edit.gif

En de vraagstelling is ook 3 keer niks, dus deze gaat gelijk op slot.

God, root, what is difference? | Talga Vassternich | IBM zuigt

Pagina: 1

Dit topic is gesloten.