ENOSIG Discussie (threads)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: mailinglist verdegingsscript


Op 17-05-2007 om 20:18 schreef Geert Stappers:
> Op 16-05-2007 om 09:24 schreef Joost van Baal:
> 
> > Minder handwerk bij het bevechten van spam dus.
> 
> Bij de verdediging van mailinglisten maak ik gebruik van dit scriptje:
> 
> #!/bin/bash
> awk -F: '$1 ~ /^Subject/ { S=$2 }
>  $1 ~ /^From/ { F=$2 }
>  END { print S "\n" F }' | ( read ; read FROM ; set -x ; echo delete | mailx -s "${REPLY}" $FROM )
> # Last Line
> 
> Nu ik het weer terug zie, sinds november 2005, verbaast het me, dat het
> werkt. Zo is mij niet duidelijk waar REPLY zijn waarde krijgt.
> 
> waarschijnlijk heeft
>  END { print S "\n" F }' | ( read REPLY ; read FROM ; set -x ; echo delete | mailx -s "${REPLY}" $FROM )
> hetzelfde effect, ik zal er eens mee exprimenteren. 
> 
> Het script "leest" "stdin" wat een "mailman confirm message" moet zijn.
> Daarvan wordt de 'Subject:' en 'From:' opgezocht waarvan alleen de
> laatste onthouden wordt en bij het END van de confirm E-mail afgedrukt.
> Die twee velden worden gebruikt in een delete E-mail.
> 
> De 'set -x' is er in gekomen tijdens de ontwikkeling voor debug
> doeleinden. Na de ontwikkeling had ik 'set -x' weggehaald, maar toen
> werkte het niet meer, vandaar dat de 'set -x' er in staat.
> 
> Het script heb ik 'ds' genoemd, als afkorting van "delete spam".
> 
> In mijn E-mail programma ( mutt ) kan ik een E-mail "pipe-pen" naar een
> ander programma. De toets daarvoor is '|'.
> 
> Als er dan een "mailman confirm message" is die een unsubscribe posting
> rapporteert, dan bekijk ik het bericht (vaak is het subject al genoeg).
> Spam wordt dan afgehandeld met 4 toetsen:  'pipe', 'd', 's' en 'enter'.
> Voor "ham" heb ik wel het mailman webinterface nodig.

Bij zo'n "mailman confirm message" zit onderaan iets als dit:

  ==0195147873==
Content-Type: message/rfc822
MIME-Version: 1.0

Content-Type: text/plain; charset="iso-8859-1"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Subject: confirm 10bbd63d05a4d284a17a53a1940c11acb33e8ce9
Sender: grene-request@xxxxxxxxxxxxxxxxx
From: grene-request@xxxxxxxxxxxxxxxxx

If you reply to this message, keeping the Subject: header intact,
Mailman will discard the held message.  Do this if the message is
spam.  If you reply to this message and include an Approved: header
with the list password in it, the message will be approved for posting
to the list.  The Approved: header can also appear in the first line
of the body of the reply.
  ==0195147873==--

Die informatie had ik gisteren niet voorhanden.

Het "delete spam script" heb ik er mee aangepast. Het ziet nu als volgt
uit:


#!/bin/bash
awk -F: '$1 ~ /^Subject/ { S=$2 }
 $1 ~ /^From/ { F=$2 }
 END { print S "\n" F }' | \
 ( read CONFIRM ; read ML ; echo Regards $0 | mailx -s "${CONFIRM}" $ML )
# Last Line


Nu is wel duidelijk hoe CONFIRM, voorheen REPLY, aan zijn waarde komt.
De 'set -x' blijkt niet nodig te zijn. De string "Regards 'programmanaam'",
voorheen "delete", is om mailx inhoud te geven, want anders gaat ie op
standaard in op input en End Of File wachten.

Doe je voordeel met deze informatie.


Cheers
Geert Stappers




[ Date Index] [ Thread Index]