/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
procmail
Fra : Ivar Madsen


Dato : 18-01-03 09:58

Jeg vil gerne have min procmailrc til

hvis Delivered-To = BOX1 eller BOX2 eller BOX3
så forvard til frammedBOX1

,----[ udsnit af /home/ivar/.procmailrc ]
| :0 c
| * ^Delivered-To:.box1
| * ^Delivered-To:.box2
| * ^Delivered-To:.box3
| {
`----

kun hvis box1 er sand, så begynder den at chekke box2, men jeg vil jo
alså have den til at hvis bare *en* af de 3 er sand, så skal den udgøre
hvad der står efter {

--
Med venlig hilsen

Ivar Madsen

 
 
Leo Laursen (18-01-2003)
Kommentar
Fra : Leo Laursen


Dato : 18-01-03 10:28

Ivar Madsen <news-23-08-02@milli.dk>:
> ,----[ udsnit af /home/ivar/.procmailrc ]
>| :0 c
>| * ^Delivered-To:.box1
>| * ^Delivered-To:.box2
>| * ^Delivered-To:.box3
>| {
> `----

> kun hvis box1 er sand, så begynder den at chekke box2, men jeg vil jo
> alså have den til at hvis bare *en* af de 3 er sand, så skal den udgøre
> hvad der står efter {

Du kan bruge "alternation".
:0 c
* ^Delivered-To:.*(box1|box2|box3)
{

Jeg satte bare "*" ifald adressen skulle være ": <box...>"

Leo
--
Wherever you go...There you are.
- Buckaroo Banzai

Ivar Madsen (18-01-2003)
Kommentar
Fra : Ivar Madsen


Dato : 18-01-03 10:53

Leo Laursen skrev Lørdag den 18. januar 2003 10:27 i dk.edb.system.unix:


> Du kan bruge "alternation".
> :0 c
> * ^Delivered-To:.*(box1|box2|box3)
> {

Tja, det kan jeg vel godt, og det er jo stadig mere overskuligt end at
have hver sin sektion for hver box, men nu er det ikke kun 3 boxe, men
en 14-15 stk, så det bliver en lang linie, hvor lang må den være?

kan man måske lave en

* ^Delivered-To:.*(box1|
box2|
box3)
[

Eller vil den brokke sig over at få et linieskift i betingelslinien? Det
må jeg lige prøve,,,

> Jeg satte bare "*" ifald adressen skulle være ": <box...>"

hvad gør den sidste * foran ( ?

--
Med venlig hilsen

Ivar Madsen

Leo Laursen (18-01-2003)
Kommentar
Fra : Leo Laursen


Dato : 18-01-03 11:59

Ivar Madsen <news-23-08-02@milli.dk>:
> Tja, det kan jeg vel godt, og det er jo stadig mere overskuligt end at
> have hver sin sektion for hver box, men nu er det ikke kun 3 boxe, men
> en 14-15 stk, så det bliver en lang linie, hvor lang må den være?

Der findes en variabel LINEBUF der kan sættes op, hvis recepterne bliver
ekstremt lange; men de kan være ret lange.

> kan man måske lave en

> * ^Delivered-To:.*(box1|
> box2|
> box3)
> [

> Eller vil den brokke sig over at få et linieskift i betingelslinien? Det
> må jeg lige prøve,,,

Ja den vil "brokke sig"; linieskiftet skal escapes.
* ^Delivered-To:.*(box1|\
box2|\
box3)
{

>> Jeg satte bare "*" ifald adressen skulle være ": <box...>"

> hvad gør den sidste * foran ( ?

".*" betyder 0 eller flere tegn, af en hvilken som helst slags.
Hvis du er 100% sikker på at det altid er et mellemrum, så er " "
egentlig bedre end ".".
".*" tillader f.eks. "Navn" <user@..., hvilket ofte er nødvendigt
i From: headeren.

Leo
--
When confronted by a difficult problem, you can solve it more easily by
reducing it to the question, "How would the Lone Ranger handle this?"

Ivar Madsen (18-01-2003)
Kommentar
Fra : Ivar Madsen


Dato : 18-01-03 15:01

Leo Laursen skrev Lørdag den 18. januar 2003 11:59 i dk.edb.system.unix:

>> Tja, det kan jeg vel godt, og det er jo stadig mere overskuligt end
>> at have hver sin sektion for hver box, men nu er det ikke kun 3 boxe,
>> men en 14-15 stk, så det bliver en lang linie, hvor lang må den være?
> Der findes en variabel LINEBUF der kan sættes op, hvis recepterne
> bliver ekstremt lange; men de kan være ret lange.

OK, men lange linier er ikke MenskeLæseVenlige omend programmet er
ligeglad med det, eller måske ligefram ikke kan lide noget der er
MenskeLæseVenligt


>> Eller vil den brokke sig over at få et linieskift i betingelslinien?
>> Det må jeg lige prøve,,,
> Ja den vil "brokke sig";

Ja, det havde jeg fundet udaf.

> linieskiftet skal escapes.
> * ^Delivered-To:.*(box1|\
> box2|\
> box3)
> {

Det blev så noget i den dur.

* ^Delivered-To:.*\
(\
box1\
box2\
box3\
)
{




>> hvad gør den sidste * foran ( ?
> ".*" betyder 0 eller flere tegn, af en hvilken som helst slags.
> Hvis du er 100% sikker på at det altid er et mellemrum, så er " "
> egentlig bedre end ".".

OK.

> ".*" tillader f.eks. "Navn" <user@..., hvilket ofte er nødvendigt
> i From: headeren.

Jeg bryder mig ikke om From: og To: headerne, det er efter data SMTP
komandoen at de sættes, så hvist jeg forstår Profix, så sætter den selv
Delivered-To: headeren, og gør det efter SMTP komandoeren mail from:
således at man får modtageren at se, også selvom der er sendt i CC
eller BCC.
Hvis en mail sendes til dig som BCC så vil din e-mail ikke framgå af
nogen headerlinie, men når postfil sætter delivered-to: efter SMTP
komandoen RCPT TO: så får du den der.


--
Med venlig hilsen

Ivar Madsen

Ivar Madsen (18-01-2003)
Kommentar
Fra : Ivar Madsen


Dato : 18-01-03 15:54

Ivar Madsen skrev Lørdag den 18. januar 2003 15:00 i dk.edb.system.unix:

>
>> ".*" tillader f.eks. "Navn" <user@..., hvilket ofte er nødvendigt
>> i From: headeren.
>
> Jeg bryder mig ikke om From: og To: headerne, det er efter data SMTP
> komandoen at de sættes, så hvist jeg forstår Profix, så sætter den
> selv Delivered-To: headeren, og gør det efter SMTP komandoeren mail
> from: således at man får modtageren at se, også selvom der er sendt i
> CC eller BCC.

Jeg havde ikke forstået det helt ret, har lige opdaget at jeg havde sat
min aliases fil til

box1: box2

og så står der Delivered-To: box2 i headeren, hvis der sendes en mail
til box1. Jeg har så slettet den linie i aliases filen, og så er der
noget med at jeg skal køre et program der kan compile den til
aliases.db .

Har fundet udaf at det er newaliases men hvad skal der på af argumenter?
jeg bliver ikke kloger af man newaliases

--
Med venlig hilsen

Ivar Madsen

Jesper Krogh (18-01-2003)
Kommentar
Fra : Jesper Krogh


Dato : 18-01-03 16:14

I dk.edb.system.unix, skrev Ivar Madsen:
> Ivar Madsen skrev Lørdag den 18. januar 2003 15:00 i dk.edb.system.unix:
> Jeg havde ikke forstået det helt ret, har lige opdaget at jeg havde sat
> min aliases fil til
>
> box1: box2
>
> og så står der Delivered-To: box2 i headeren, hvis der sendes en mail
> til box1. Jeg har så slettet den linie i aliases filen, og så er der
> noget med at jeg skal køre et program der kan compile den til
> aliases.db .
>
> Har fundet udaf at det er newaliases men hvad skal der på af argumenter?
> jeg bliver ikke kloger af man newaliases

Nej, du skal bare skrive newalises

--
../Jesper Krogh, jesper@krogh.cc


Ivar Madsen (19-01-2003)
Kommentar
Fra : Ivar Madsen


Dato : 19-01-03 22:09

Jesper Krogh wrote:

>> og så står der Delivered-To: box2 i headeren, hvis der sendes en
>> mail til box1. Jeg har så slettet den linie i aliases filen, og
>> så er der noget med at jeg skal køre et program der kan compile
>> den til aliases.db .
>> Har fundet udaf at det er newaliases men hvad skal der på af
>> argumenter? jeg bliver ikke kloger af man newaliases
> Nej, du skal bare skrive newalises

Jeg har brugt det meste af dagen på at ominstallere Mandrake på min
server, har valgt "højre" i sikkerhedsnewu, det var det install
programmet anbefalede til server brug.
Jeg har fået postfix til at modtage connect som den skal, nu skal
jeg så have sat den til at køre med * mail, så den bare modtager
alt til @milli.dk og putter det i rette mailbox. man jeg er ikke
helt sikker på hvorledes, men mener at kunne huske at det er ved at
skrive

@milli.dk mailbox

i alises filen,så det har jeg gjort og skal have kørt newsaliases
for at opdatere databasefilen, men der mangler noget vitalt!

|[root@localhost postfix]# newalises
|bash: newalises: command not found
|[root@localhost postfix]# man newaliases
|Intet opslag for newaliases
|[root@localhost postfix]#

Hvad mangler jeg?

--
Med venlig hilsen

Ivar Madsen

Jesper Krogh (20-01-2003)
Kommentar
Fra : Jesper Krogh


Dato : 20-01-03 07:06

I dk.edb.system.unix, skrev Ivar Madsen:
> Jesper Krogh wrote:
> >> og så står der Delivered-To: box2 i headeren, hvis der sendes en
> >> mail til box1. Jeg har så slettet den linie i aliases filen, og
> >> så er der noget med at jeg skal køre et program der kan compile
> >> den til aliases.db .
> >> Har fundet udaf at det er newaliases men hvad skal der på af
> >> argumenter? jeg bliver ikke kloger af man newaliases
> > Nej, du skal bare skrive newalises
>
> Jeg har brugt det meste af dagen på at ominstallere Mandrake på min
> server, har valgt "højre" i sikkerhedsnewu, det var det install
> programmet anbefalede til server brug.
> Jeg har fået postfix til at modtage connect som den skal, nu skal
> jeg så have sat den til at køre med * mail, så den bare modtager
> alt til @milli.dk og putter det i rette mailbox. man jeg er ikke
> helt sikker på hvorledes, men mener at kunne huske at det er ved at
> skrive
>
> @milli.dk mailbox

Det er vist syntax for virtual filen til postfix?
http://www.sslug.dk/linuxbog/admin/bog/e-post-server.html#POSTFIX-VIRTUAL

> i alises filen,så det har jeg gjort og skal have kørt newsaliases
> for at opdatere databasefilen, men der mangler noget vitalt!
>
> |[root@localhost postfix]# newalises
> |bash: newalises: command not found

Her mangler et a:
newalises -> newaliases

> |[root@localhost postfix]# man newaliases
> |Intet opslag for newaliases
> |[root@localhost postfix]#
>
> Hvad mangler jeg?

Har du installeret postfix?

--
../Jesper Krogh, jesper@krogh.cc


Ivar Madsen (21-01-2003)
Kommentar
Fra : Ivar Madsen


Dato : 21-01-03 07:42

Jesper Krogh skrev Mandag den 20. januar 2003 07:05 i
dk.edb.system.unix:

>> i alises filen,så det har jeg gjort og skal have kørt newsaliases
>> for at opdatere databasefilen, men der mangler noget vitalt!
>> |[root@localhost postfix]# newalises
>> |bash: newalises: command not found
> Her mangler et a:
> newalises -> newaliases

UPS.

>> |[root@localhost postfix]# man newaliases
>> |Intet opslag for newaliases
>> |[root@localhost postfix]#
>> Hvad mangler jeg?
> Har du installeret postfix?

Under install af Mandrake valgte jeg at få postfix installeret, og den
tager også fint imod mail, og sender dem også gladeligt ud i verden nu.

Jeg kan ikke lige finde det nu, men igår fandt jeg i Midnat Comander en
fil som angav stien til newaliases, og skulle så se om den også var
der. Den havde et ! foran, og så var den makeret med rødt, og havde en
størelse på øhe 32 byte, hvad betyder det når MC sætter et ! foran, og
viser den med rødt?

Hvad installen har lavet ved jeg ikke, lagde ikke mærke til nogen fejl,
men jeg mener også at jeg bad om at få POP3 installeret, og det måtte
jeg selv gøre bagefter,,,
Jeg vil dog ikke forsvæve at jeg bad den om at installere pop3,,,

--
Med venlig hilsen

Ivar Madsen

Jesper Krogh (21-01-2003)
Kommentar
Fra : Jesper Krogh


Dato : 21-01-03 07:51

I dk.edb.system.unix, skrev Ivar Madsen:
> Jesper Krogh skrev Mandag den 20. januar 2003 07:05 i
> dk.edb.system.unix:
> >> Hvad mangler jeg?
> > Har du installeret postfix?
>
> Under install af Mandrake valgte jeg at få postfix installeret, og den
> tager også fint imod mail, og sender dem også gladeligt ud i verden nu.
>
> Jeg kan ikke lige finde det nu, men igår fandt jeg i Midnat Comander en
> fil som angav stien til newaliases, og skulle så se om den også var
> der. Den havde et ! foran, og så var den makeret med rødt, og havde en
> størelse på øhe 32 byte, hvad betyder det når MC sætter et ! foran, og
> viser den med rødt?

Jeg benytter ikke MC, så det har jeg ingen ide om, men det system skulle
helst ligne:
[jesper@luke jesper]$ ll `which newaliases`
lrwxrwxrwx 1 root root 32 Oct 26 18:15 /usr/bin/newaliases -> /etc/alternatives/mta-newaliases*
[jesper@luke jesper]$ ls -l /etc/alternatives/mta-newaliases
lrwxrwxrwx 1 root root 27 Oct 26 18:15 /etc/alternatives/mta-newaliases -> /usr/bin/newaliases.postfix*
[jesper@luke jesper]$

Og det er fra pakken med postfix i.


> Hvad installen har lavet ved jeg ikke, lagde ikke mærke til nogen fejl,
> men jeg mener også at jeg bad om at få POP3 installeret, og det måtte
> jeg selv gøre bagefter,,,
> Jeg vil dog ikke forsvæve at jeg bad den om at installere pop3,,,

Der er nok smuttet et eller andet.

--
../Jesper Krogh, jesper@krogh.cc


Allan Olesen (18-01-2003)
Kommentar
Fra : Allan Olesen


Dato : 18-01-03 15:58

Ivar Madsen <news-23-08-02@milli.dk> wrote:

>,----[ udsnit af /home/ivar/.procmailrc ]
>| :0 c
>| * ^Delivered-To:.box1
>| * ^Delivered-To:.box2
>| * ^Delivered-To:.box3
>| {
>`----

Du kan jo proeve flaget E (betragt det som procmails udgave af
Else If). Jeg ved dog ikke, om det kolliderer med flaget c:

:0 c
* ^Delivered-To:.box1
{ Indsaet forwarding her }

:0 c E
* ^Delivered-To:.box2
{ Indsaet forwarding her }

:0 c E
* ^Delivered-To:.box3
{ Indsaet forwarding her }

Ellers kan man skrive alle boksene i en separat fil og lade
procmail greppe lidt. Det goer jeg selv i et spamfilter, hvor jeg
har en fil med en liste over afsendere, som skal igennem, uanset
om deres ip tilfaeldigvis er registreret i en dnsbl. Noget i
denne retning:

# Stier til kommandoer og filer:
FORMAIL=/usr/bin/formail
GREP=/bin/grep
TEST=/usr/bin/test
BOXLISTE=/home/ivar/IvarsListeOverBokse

:0 c
* ? ${TEST} -f && (${FORMAIL} -zxDelivered-To: \
| ${GREP} -i -f ${BOXLISTE})
{ Indsaet forwarding her }

Ingen af eksemplerne er afproevede.

Men selv om du har 14 bokse, er der principielt ikke noget i
vejen for at bruge den loesning du fik i et andet indlaeg og
adskille dem med "|". Du kan evt. ombryde linien med "\", som jeg
har gjort ovenfor, dog nok ikke midt i listen.


--
Allan

Ivar Madsen (18-01-2003)
Kommentar
Fra : Ivar Madsen


Dato : 18-01-03 19:00

Allan Olesen skrev Lørdag den 18. januar 2003 15:57 i
dk.edb.system.unix:


> Du kan jo proeve flaget E (betragt det som procmails udgave af
> Else If). Jeg ved dog ikke, om det kolliderer med flaget c:
>
> :0 c
> * ^Delivered-To:.box1
> { Indsaet forwarding her }
>
> :0 c E
> * ^Delivered-To:.box2
> { Indsaet forwarding her }
>
> :0 c E
> * ^Delivered-To:.box3
> { Indsaet forwarding her }

Det er sådan jeg har haft det tiderliger, bare lige bortset fra at jeg
havde andre filtere indimellem, jeg havde bare tilføjet til bunden hele
tiden, så nu vil jeg godt have den noget mere overskulig, og
struktureret.

> Ellers kan man skrive alle boksene i en separat fil og lade
> procmail greppe lidt.

Det har jeg tiderliger forsøgt mig med, men fik det ikke til at virke,
og så var det at jeg bare VILLE have det kørende NU OG HER. Med noget
snavs til følge

> Det goer jeg selv i et spamfilter, hvor jeg
> har en fil med en liste over afsendere, som skal igennem, uanset
> om deres ip tilfaeldigvis er registreret i en dnsbl. Noget i
> denne retning:
> # Stier til kommandoer og filer:
> FORMAIL=/usr/bin/formail
> GREP=/bin/grep
> TEST=/usr/bin/test
> BOXLISTE=/home/ivar/IvarsListeOverBokse
>
> :0 c
> * ? ${TEST} -f && (${FORMAIL} -zxDelivered-To: \
> | ${GREP} -i -f ${BOXLISTE})
> { Indsaet forwarding her }

Jeg tror at der skal indbygges noget i den stil i version 3.x af min
procmail, har lige en masse andre ting der skal gøres på systemmet som
jeg priotere højrer end ting jeg skal prøve mig lidt fram med.

BTW så "\" efter Delivered-To: betyder at procmail skal se bort fra
linieskiftet, "|" betyder kald externt program, (her grep, som bruges
til at læse i filen "/home/ivar/IvarsListeOverBokse" og sætter jeg et
"." foran filnavnet (ikke foran sti delen) oppe i linien hvor BOXLISTE
sættes, så bliver det til en skjult fil. Men hvad betyder "$" tegnet?
Og i linien over betyder * at det er en betingelse linie, men resten kan
jeg ikke lige tyde


> Ingen af eksemplerne er afproevede.

OK.

> Men selv om du har 14 bokse, er der principielt ikke noget i
> vejen for at bruge den loesning du fik i et andet indlaeg og
> adskille dem med "|". Du kan evt. ombryde linien med "\", som jeg
> har gjort ovenfor, dog nok ikke midt i listen.

Nej, som bekendt så føre alle sende veje til Rom

(Blinde veje føre ingen steder hen, og ikke blinde må være sende)

--
Med venlig hilsen

Ivar Madsen

Allan Olesen (18-01-2003)
Kommentar
Fra : Allan Olesen


Dato : 18-01-03 20:14

Ivar Madsen <news-23-08-02@milli.dk> wrote:

>BTW så "\" efter Delivered-To: betyder at procmail skal se bort fra
>linieskiftet, "|" betyder kald externt program, (her grep, som bruges
>til at læse i filen "/home/ivar/IvarsListeOverBokse" og sætter jeg et
>"." foran filnavnet (ikke foran sti delen) oppe i linien hvor BOXLISTE
>sættes, så bliver det til en skjult fil.

Korrekt alt sammen.

>Men hvad betyder "$" tegnet?

Du mener i f.eks. ${TEST}? Det er simpelthen bare saadan man
bruger en variabel i procmail. (Der er vist en anden syntaks, man
kan bruge, men den husker jeg ikke lige.)

>Og i linien over betyder * at det er en betingelse linie, men resten kan
>jeg ikke lige tyde

Ok. Den ser saadan ud:
> * ? ${TEST} -f && (${FORMAIL} -zxDelivered-To: \
> | ${GREP} -i -f ${BOXLISTE})

> ?
Spoergsmaalstegnet betyder, at procmail tester paa exit code fra
det kaldte program.

> ${TEST} -f &&
kan jeg egentlig heller ikke selv huske baggrunden for laengere.
Umiddelbart skulle man tro, at der testes for en fil uden navn,
og resultatet AND'es med det efterfoelgende udtryk, men det giver
jo ikke mening.

> (${FORMAIL} -zxDelivered-To: \

Her kaldes formail, som skal udtraekke indholdet af headeren
Delivered-To.

> | ${GREP} -i -f ${BOXLISTE})

Og indholdet af Delivered-To pipes derefter til grep, som tester
for, om strengen findes i filen BOXLISTE. "-i" betyder, at der
ikke er forskel paa smaa og store bogstaver.



--
Allan

Andreas Hinz (21-01-2003)
Kommentar
Fra : Andreas Hinz


Dato : 21-01-03 10:35

Tue, 21 Jan 2003 07:42:00 +0100
skrev Ivar Madsen <news-@milli.dk>:

> fil som angav stien til newaliases, og skulle så se om den også var
> der. Den havde et ! foran, og så var den makeret med rødt, og havde en
> størelse på øhe 32 byte, hvad betyder det når MC sætter et ! foran, og
> viser den med rødt?
>
Hej,
det betyder at filen er et link til en anden fil og at filen fortil link
peger ikke eksisterer.

Hvis du hopper ned på den røde fil, så kan du aflæse linket nede i bunden
af MC.

--
Med venlig hilsen / Best regards / Mit freundlichen Grüssen

Andreas Hinz

Ivar Madsen (21-01-2003)
Kommentar
Fra : Ivar Madsen


Dato : 21-01-03 20:30

Andreas Hinz skrev Tirsdag den 21. januar 2003 10:34 i
dk.edb.system.unix:

>> fil som angav stien til newaliases, og skulle så se om den også var
>> der. Den havde et ! foran, og så var den makeret med rødt, og havde
>> en størelse på øhe 32 byte, hvad betyder det når MC sætter et !
>> foran, og viser den med rødt?
> det betyder at filen er et link til en anden fil og at filen fortil
> link peger ikke eksisterer.

Jeg tænkte nok at det var noget iden dur, tilbage står så bare hvorfor
den ikke er kommet med ved install af profix. Det samme er sket på min
anden maskine hvor jeg for en uges tid siden installerte profix.

--
Med venlig hilsen

Ivar Madsen

Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408857
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste