Kommentar: sandbox
16/04-2004 15:03:59 På linux kan du sætte procmail til at køre en ekstern kommando, med den indkommende mail som input. Den eksterne kommando kan være et shellscript (eller et php- eller perl-script for den sags skyld.)
Der kan også laves diverse filtre, så bestemte headers kan resultere i kørsel af forskellige scripts.
Kommentar: htm
16/04-2004 15:48:28 Hvordan vill det kunne sættes op?
Der er jo ikke nogen mailserver på linuxen - men det er muligt at hente mailen via exchange eller pop3. Har du et eks. med procmail, der tager en mail og skriver indholdet til en fil, eller giver indholdet som et argument til et php script eller lign.
Kommentar: sandbox
16/04-2004 16:14:48 OK, du kan eventuelt bruge fetchmail til at hente posten fra Windows-maskinen.
Her er en stump fra min ~/.procmailrc (dvs. procmails indstillingsfil.)
:0fw
| spamassassin -P
Nu er spamassassin godt nok et perl-script, men det er ikke så vigtigt. Bare første linie i scriptet ser således ud:
#!/usr/bin/php
Så vil php blive brugt til at køre det. Jeg ved ikke lige, hvordan man behandler input i php.
manualerne for procmail giver en hel masse eksempler, men nederst under NOTES er der en "kom hurtigt igang" beskrivelse.
Jeg er væk fra nu og hele weekenden, så du skal ikke regne med hurtige svar fr mig de næste par dage.
Kommentar: htm
16/04-2004 16:36:36 Helt i orden :o) Får hellere ikke tid til noget test før mandag ... :o)
Hvordan ville det eks. se ud i et perl script?
Henter procmail fra en pop3 konto eller lign ?
Kommentar: sandbox
18/04-2004 22:41:06 Nej, men det gør fetchmail, og den kan derefter aflevere posten til procmail.
Hvis du installerer fetchmail og procmail (de findes normalt som færdiglavede pakker til de fleste Linux-distributioner.) så skal du have en ~/.fetchmailrc der ser ud i stil med:
poll "navn på POP3 server" protocol POP3
user "brugernavn" there has password "kodeord"
is "linux-brugernavn" here
and wants mda "/usr/bin/procmail"
I et perl-script ser første linie således ud:
#!/usr/bin/perl
Resten af scriptet kommer så an på, hvad du vil gøre.
Kommentar: htm
20/04-2004 19:12:52 Må indrømme at jeg ikke forstår ret meget af hvad du skriver lige nu, men det kan være det kommer. Jeg vil kigge lidt i dokumentationen for fetchmail og procmail.
Har ikke lige haft tid til at kigge på det endnu, desværre.
Men læg bare et svar, så finder jeg ud af om jeg kan bruge det.
Men hvis du lige kan bikse det sammen, må du gerne give et eks. hvordan et perlscript kan gemme indholdet (body) af en mail i en tekstfil.
Svar: sandbox
21/04-2004 00:43:40 Jeg har lige leget lidt med min egen procmail, og hvis du bare vil have body fra al indkommende post gemt i en fil, behøver du faktisk ikke mere end følgende i din .procmailrc:
:0:
| sed -e '1,/^$/ d' >>/home/brugernavn/bodyfil
For en sikkerheds skyld er det nok en ide først at afprøve det med:
:0c:
| sed -e '1,/^$/ d' >>/home/brugernavn/bodyfil
Så bliver mailen samtidig gemt i brugerens normale postbakke (Normalt /var/spool/mail/brugernavn)
Det er ikke engang nødvendigt med et selvstændigt script til at gøre det.
Kommentar: htm
21/04-2004 21:39:51 Hmm har lige prøvet at installere fetchmail - men kan ikke få den installeret.
Bruger denne :
http://catb.org/~esr/fetchmail/fetchmail-6.2.5-1.i386.rpmMine fejl:
error: failed dependencies:
libcrypto.so.2 is needed by fetchmail-6.2.0-1
libhesiod.so.0 is needed by fetchmail-6.2.0-1
libssl.so.2 is needed by fetchmail-6.2.0-1
Umiddelbart kan jeg se at det er openssl der mangler, men denne har jeg installeret i version 0.9.7c
Hvad er det galt?
Kommentar: sandbox
21/04-2004 22:02:44 Findes den ikke som pakke i din distributions normale pakkesystem?
Kommentar: htm
21/04-2004 22:13:31 Ikke umiddelbatt - har Trustix - brugte så swup (lidt ala apt-get) til at kigge - her kunne jeg kun finde procmmail ikke fetchmail. Trustix er bygget på redhat. så det er muligt der er en pakke til den, det ved jeg faktisk ikke.
Kommentar: sandbox
21/04-2004 22:52:01 Prøv med denne istedet:
http://tsldev.trustix.org/cloud/contrib/rpms/fetchmail-6.2.5-3bg.i586.rpmKommentar: htm
21/04-2004 22:54:36 OK mange tak - så ville den installere sig :o)
Jeg vil kigge på det i morgen, men forløbig tak.
Kommentar: htm
20/05-2004 22:45:47 ok der gik lidt mere en til dagen efter, håber det går :o)
Jeg kan ikke helt hitte ud af hvad der skal til?
Skal jeg oprette den fil ~/.fetchmailrc ? og hvad skal indholdet være af den?
Og hvad med procmail hvordan skal jeg konfigurer den?
Og hvordan starter jeg det hele så det kører? Skal det køre via deamon eller cronjob?
Ville være godt hvis du kunne lave en kort beskrivelse af de steps jeg skal igennem!
Kommentar: sandbox
21/05-2004 00:18:42 Din .fetchmailrc (som skal ligge i hjemmemappen for den bruger, der kører fetchmail) skal se således ud:
poll "navn på POP3 server" protocol POP3
user "brugernavn" there has password "kodeord"
is "linux-brugernavn" here
and wants mda "/usr/bin/procmail"
De eneste steder, du skal rette, er "navn på POP3 server", "brugernavn" og "kodeord", som er oplysningerne om den server, du henter posten fra, og "linux-brugernavn", som er det brugernavn på Linixmaskinen, som skal have posten. Derudover skal du rette "/usr/bin/procmail", hvis din procmail ligger et andet sted, men det gør den nok ikke.
Du skal lige være opmærksom på rettighederne. Filen skal have rw for ejeren og ikke andre.
Derefter skulle du bruge en ~/.procmailrc
Det burde være nok med en minimal fil, der ser således ud:
:0:
| sed -e '1,/^$/ d' >>/home/brugernavn/bodyfil
Denne fil skal have rettighederne rw for ejeren og (vistnok) r for andre. Ret til, så den gemmer i den fil, du ønsker. Bemærk, at mappen, hvori filen, der skal skrives til, ligger, skal måske have rwx-rettigheder for alle.
Så er det vist en god ide at teste, før du sætter den til at køre fuldautomatisk. Når du tester, så brug kommandoen:
fetchmail --keep
Den henter posten, men sletter den ikke fra serveren. (Glimrende til testformål.) Hvis det hele virker, og den gemte body fra de indkomne mails i filen, som den skulle, kan du gå videre.
Til sidst skal du have sat automatik på.
Jeg vil anbefale at køre fetchmail som et cronjob. Jeg kører den fra min normale brugers crontab, men du kan også bare putte den i /etc/crontab
Kommandoen skal være: fetchmail --silent
Hvis den er i en bruger-crontab, ser den således ud:
6,26,46 * * * * fetchmail -s
Og hvis den er i /etc/crontab ser den sådan ud:
6,26,46 * * * * brugernavn fetchmail --silent
Tallene er minuttal for hvornår, der skal hentes post.
Denne gang er kommandoen uden --keep, men til gengæld har jeg sat --silent på. Dette gør, at den ikke kommer med en hel masse beskeder, når der ikke er post, men kun hvis der sker fejl.
Kommentar: htm
21/05-2004 11:21:55 Hmmm er godt træt af eksperten - har lige skrevet en masse og sendt, og det bliver bare ikke postet. Oplevede det også i går....
Men tak for hjælpen det virker med at gemme body.
Men den laver lidt ekstra linieskift og indsætter = i enden af linien. efter alt teksten i body kommer =09 til at stå!
Har du nogen ide til hvordan jeg får det fjernet?
mailsne er logfiler sendt fra en firewall. De bliver sendt i plain text - og kunne eks. se sådan ud:
05/21/2004 07:16:43.680 - NetBus Attack Dropped - Source:xxx.xxx.xxx.xx, port, WAN - Destination:xx.xxx.xxx.xxx, port, LAN - -
og min bodyfil ser sådan ud:
05/21/2004 07:16:43.680 - NetBus Attack Dropped - =
Source:xxx.xxx.xxx.xx, port, WAN - Destination:xx.xxx.xxx.xxx, port, =
LAN - - =09