Bekijk Volledige Versie : php script aansturen via .forward voor mail autoresponds
Jan Smeelen
19/07/03, 02:35
Ik wil een php script maken voor
het instellen van autoresponds ivm
bijv vakantie e.d.
planning is d.m.v. de .forward file
de gegevens van de mail door te sturen
naar een .php script als volgt :
\jan
|/users/jan/scripts/autoresponds.php
Voordat ik er tijd aan ga besteden,
de vraag of er mogelijk ergens een
voorbeeld script online staat, of dat mogelijk
iemand al voorbeeld code heeft die hij/zij
wil delen met de nieuwsgroep :)
( op de div. "hotscripts" site heb ik zelf geen
voorbeeld code kunnen vinden )
Bedankt voor reply !
Jan Smeelen.
Daniel Tryba
19/07/03, 03:05
Jan Smeelen <smeelen@friaco.nl> wrote:
> Ik wil een php script maken voor
> het instellen van autoresponds ivm
> bijv vakantie e.d.
En vacation staat niet op je systeem?
> planning is d.m.v. de .forward file
> de gegevens van de mail door te sturen
> naar een .php script als volgt :
>
> \jan
> |/users/jan/scripts/autoresponds.php
>
> Voordat ik er tijd aan ga besteden,
> de vraag of er mogelijk ergens een
> voorbeeld script online staat, of dat mogelijk
> iemand al voorbeeld code heeft die hij/zij
> wil delen met de nieuwsgroep :)
Het is niet moeilijk om zoiets te maken, echter bedenk waar je aan
begint (man vacation is een goede start voor enkele ideeen).
Werkwijze is eigenlijk heel simpel.
-bepaal de zut op stdin => array (file('php://stdin'))
-Filter de haders eruit (tot eerste lege regel (exclusief newline)).
-doorloop alle regels, regels die beginnen met een white space horen bij
de vorige.
-Zoek de From, To en CC headers
-Controleer From(:) zoals bv in man vacation beschreven word
-filter mailinglists
-idem voor To en CC
-controleer of je niet al 1 mailtje aan de from gestuurd hebt (db?)
-voegtoe en stuur mail
Daarna opzoek naar mogelijkheden om hier misbruik van te maken :)
--
Daniel Tryba
On Sat, 19 Jul 2003 02:11:15 +0200, Jan Smeelen <smeelen@friaco.nl> wrote:
> Ik wil een php script maken voor
> het instellen van autoresponds ivm
> bijv vakantie e.d.
Moet je niet met php doen, veel te omslachtig.
<http://www.oreillynet.com/pub/wlg/1264>
Hans
--
http://spamikaze.nl.linux.org/
Jan Smeelen schreef:
> Ik wil een php script maken voor
> het instellen van autoresponds ivm
> bijv vakantie e.d.
Kun je beter met Perl doen, daar kun je beslist ook
voorbeeld scripts van vinden. Hier al vast een voorproefje:
Forward naar een perlfile (iets.pl en chmod 755 iets.pl) en
zet hierin
#!/usr/bin/perl
open (TEST, ">/users/jan/scripts/mail.txt") || die "niet
gelukt enzo";
while (<STDIN>) { print TEST $_; }
close(TEST);
Dan komt er als je een mailtje doet in
/users/jan/scripts/mail.txt de complete e-mail te staan. Als
de de headers wilt parsen voor de auto reply kun je daar
zelf wat voor schrijven, maar je kunt ook gebruik maken van
Mail::Audit. Even downloaden van cpan als je die nog niet
hebt.
Jan Smeelen
22/07/03, 01:50
"Jan Smeelen" <smeelen@friaco.nl> schreef in bericht
news:3f188dca$0$8297$6c4e9a8c@reader.news.uudial.e u.uu.net...
> Ik wil een php script maken voor
> het instellen van autoresponds ivm
> bijv vakantie e.d.
>
Bedankt voor alle reply !
helaas heb ik het commando "vacation" niet tot mijn beschikking,
en kies dus voor een zelf te schrijven php script.
Voor degene die dit later ook eens gaan uitproberen,
één tip om een domme fout te voorkomen....
Ik probeerde met de .forward file een test php scriptje
uit te sturen wat een mailtje aan mezelf verstuurde...
Leuk idee om te testen, echter is dan het "aan"
mail adres, hetzelfde als het adres waar de .forward
naar ingesteld staat....
Je raadt het al :
een oneindige loop, met een zeer hoge server load ;o)
meteen die .forward file aangepast, scheelde waarschijnlijk
duizenden mailtjes....
Domme fout, maar ook door mij gemaakt....
Bedankt i.i.g. voor de tips !
Jan.
Daniel Tryba
22/07/03, 08:50
Jan Smeelen <smeelen@friaco.nl> wrote:
> Voor degene die dit later ook eens gaan uitproberen,
> ??n tip om een domme fout te voorkomen....
>
> Ik probeerde met de .forward file een test php scriptje
> uit te sturen wat een mailtje aan mezelf verstuurde...
> Leuk idee om te testen, echter is dan het "aan"
> mail adres, hetzelfde als het adres waar de .forward
> naar ingesteld staat....
MAW je script stuurt meerdere malen een notification naar het zelfde
address? Dat lijkt me al geen goed idee. (BTW in de link van Hans staat
een constructie om zoiets leuks te voorkomen (X-Loop header toevoegen))
Maar dit zijn nou precies de redenen dat je het beter niet zelf kan
maken :)
--
Daniel Tryba
Jan Smeelen
22/07/03, 12:50
"Daniel Tryba" <news_nl.internet.www.server-side@canopus.nl> schreef in
bericht news:bfimb9$4kb$1@news.tue.nl...
> Jan Smeelen <smeelen@friaco.nl> wrote:
> > Voor degene die dit later ook eens gaan uitproberen,
> > ??n tip om een domme fout te voorkomen....
> >
> > Ik probeerde met de .forward file een test php scriptje
> > uit te sturen wat een mailtje aan mezelf verstuurde...
> > Leuk idee om te testen, echter is dan het "aan"
> > mail adres, hetzelfde als het adres waar de .forward
> > naar ingesteld staat....
>
> MAW je script stuurt meerdere malen een notification naar het zelfde
> address? Dat lijkt me al geen goed idee. (BTW in de link van Hans staat
> een constructie om zoiets leuks te voorkomen (X-Loop header toevoegen))
Yup, ik veroorzaakte dus een oneindige lus... ;o)
> Maar dit zijn nou precies de redenen dat je het beter niet zelf kan
> maken :)
Aan de andere kant, eigenlijk ook wel weer leuk om te maken :
je leert er van, en is ook een leuke uitdaging, temeer daar
ik niets in php heb kunnen vinden op internet daarvoor :)
Groeten,
Jan.
Jan Smeelen
23/07/03, 03:35
"Daniel Tryba" <news_nl.internet.www.server-side@canopus.nl> schreef in
bericht news:bfimb9$4kb$1@news.tue.nl...
> BTW in de link van Hans staat
> een constructie om zoiets leuks te voorkomen (X-Loop header toevoegen))
Ik heb zojuist een en ander gecheckt, maar
zover ik kan zien nu, gebruiken de meeste mailing list
de header "Delivered-To:"
ongewenst zou je anders ook nog een oneindige
loop kunnen veroorzaken :
Je mailt iemand een autoreply retour,
indien die ook weer een autoreply heeft
ingesteld, eindig je ook in een oneindige lus....
( Uiteraard moet ik dus een check doen via
een database om te zien wanneer er de laatste
auto reply verstuurd is, en met welk subject ;)
Echter als ik dus check of Delivered-to niet empty
is, kan ik op die manier meteen de mailingslists eruitfilteren,
en die dan geen autoreply sturen :)
Wat is nu het beste om te gebruiken :
Delivered-to of de X-loop header (of beiden ) ?
ps. Kan overigens X-Loop niet vinden in de rfc822
weet je toevallig in welke rfc (gaarne url ) ik die wel kan vinden ?
(is namelijk mijn eerste kennismaking met rfc's nazoeken :)
Bedankt voor reply !
Jan Smeelen.
Jan Smeelen
23/07/03, 03:50
"Jan Smeelen" <smeelen@friaco.nl> schreef in bericht
news:3f1de445$0$13801$6c4e9a8c@reader.news.uudial. eu.uu.net...
>
> "Daniel Tryba" <news_nl.internet.www.server-side@canopus.nl> schreef in
> bericht news:bfimb9$4kb$1@news.tue.nl...
>
> Wat is nu het beste om te gebruiken :
> Delivered-to of de X-loop header (of beiden ) ?
>
Zojuist ook eens gekeken naar de headers die
ik ontvang van mijn test scriptje wat automatisch
een testmailtje stuurt vanwege de aansturing
via de .forward file :
Daar zit al standaard de Delivered-to header
in verwerkt ! :o))
( Lijkt me dus het beste om dat te gebruiken :)
Jan.
Daniel Tryba
23/07/03, 08:35
Jan Smeelen <smeelen@friaco.nl> wrote:
> ongewenst zou je anders ook nog een oneindige
> loop kunnen veroorzaken :
> Je mailt iemand een autoreply retour,
> indien die ook weer een autoreply heeft
> ingesteld, eindig je ook in een oneindige lus....
> ( Uiteraard moet ik dus een check doen via
> een database om te zien wanneer er de laatste
> auto reply verstuurd is, en met welk subject ;)
1 autoreply per email adress lijkt me wel voldoende (per periode), zo
voorkom je loops.
--
Daniel Tryba
Jan Ehrhardt
23/07/03, 09:35
Jan Smeelen in nl.internet.www.server-side (Wed, 23 Jul 2003 03:20:39
+0200):
>ps. Kan overigens X-Loop niet vinden in de rfc822
> weet je toevallig in welke rfc (gaarne url ) ik die wel kan vinden ?
> (is namelijk mijn eerste kennismaking met rfc's nazoeken :)
Alle "X-*" headers worden standaard genegeerd door mailservers en
mailclients. Die kun je dus gebruiken om extra info door te geven,
bijvoorbeeld dat een mailtje al een keer geforward is.
http://google.nl/search?q=procmail+x-loop
Jan
--
Look, Ma. No tables - http://www.steenbergen-stichting.nl/enbio.html