linux-l: weihnachtsmail via script?

Oliver Hillmann ohil at tequila.in-berlin.de
Mi Dez 15 17:49:51 CET 1999


On Wed, 15 Dec 1999, Angelika Meier wrote:

> Quoting Oliver Hillmann <ohil at tequila.in-berlin.de>:
> > On Wed, 15 Dec 1999, Angelika Meier wrote:
> > > hat jemand ein script, dass am 24. und am 31. mails
> > > an alle eingetragen leute verschickt?
> > > moeglichst unter linux (debian)?
> > 
> > Völlig aus dem Lameng:
> aus dem was?

Lameng, oder wie das heisst. Also soz. aus'm Handgelenk, oder auch aus'm
Ärmelchen geschüttelt...
 

> das sieht doch schonmal gut aus.
> wie wird das nun "aufgerufen" ?

Naja, Du möchtest doch, daß das z.B. am 24.12. um 18:00 verschickt wird.
Dann kannst Du das dem atd übergeben der auf Deiner Kiste laufen sollte
und zu einen bestimmten Zeitpunkt Befehle starten kann.

Du könntest dann

at 18:00 Dec 24

eintippen, bekommst dann eine Eingabeauffroderung wie

>

und tippst nun den Pfad zu Deinem Weihnachtsmailscript ein:

/home/geli/bin/weihnachtsmail.sh

und CRTL-D.

Fertich! :) Zum 31.12. wäre das analog, aber wohl eher
at 23:59 Dec 31

oder 

at 00:00 Jan 1
 
> ich habe echt null ahnung von scripting und perl'ing...
> 
> > #!/bin/sh
> > for name in tante.jutta at aol.com onkel.alfred at t-online.de; do

Du könntest hier auch ein 

for name in `cat adressenlistenfile`; do

oder gar ein

cat adressenlistenfile|while read name; do

benutzen. Der letzte Vorschlag hat den Vorteil, daß Du in Deinem
Adressenfile Einträge haben kannst, die auch Leerzeichen enthalten, das
geht bei allen anderen von meinen Vorschlägen nicht.

Du könntest also im adressenlistenfile pro Zeile einen Eintrag haben wie:

Oma Erna <erna at one-foot-in-the-grave.org>
Tanke Judith <ju at united-aunts.net>

usw. Ein Tip übrigens: Es ist ratsam, innerhalb des Skripts zwischen den
einzelnen Mailverschickereien einige Sekunden zu warten, sonst tritt
sendmail, smail, exim, qmail oder wer auch immer auf einmal eine u.U.
riesige Mailmenge los, und Du hast bald keine offenen Filedeskriptoren
mehr usw. usf... S.u.:

> > /usr/lib/sendmail $name <<EOM
> > From: Geli <geli at mind.de>
> > To: $name
> > Subject: Oh du froehliche
> > 
> > Moege die Gans schmecken!
> > 
> > G.
> > EOM
# hier ein bissel Zeit lassen
sleep 20

> > done
>   
> > Dann hat als einmaliger cronjob oder mit at absetzen... Ungetestet,
> > ausbaufähig, auch in Perl machbar :) 
> was heisst "mit at absetzen" ? wenn at-befehle: ich habe isdn.

S.o. Hat nix mit Hayes-AT Befehlen zu tun :) Cron ginge auch, at ist aber
eher für einmalige Aufgaben geeignet. Anderenfalls schlage ich man crontab
und man 5 crontab (oder eine weitere Nachfrage :) vor.

Frohe Weihnachten :)

Oli



Mehr Informationen über die Mailingliste linux-l