1x pro Woche automatisch eine Email verschicken

Hallo,

ich suche nach einer Möglichkeit einmal in der Woche automatisch von einem Script eine Email verschicken zu lassen. Das Script soll dann eine *.txt Datei auslesen und zusammen mit der Email verschicken. (Die Voraussetzung, dass das Script mindestens 1x pro Tag aufgerufen wird ist gegeben.) Geschafft habe ich dies schon für den Fall, dass diese Email täglich verschickt wird. Nun bräuchte ich aber eine Erweiterung auf eine Woche oder auch auf einen einstellbaren Intervall von mehreren Tagen. Kommt ja fast aufs selbe hinaus. Nachfolgend füge ich einfach mal einen Teil des Quellcodes ein, den ich schon habe und der nun geändert werden müsste. Wäre echt toll, wenn mir da jemand helfen könnte. Danke

Gruss
Pfanni

$mailprog="/usr/sbin/sendmail";
$data1="/server/username/public_html/cgi-bin/xyz/adressen.txt";
$data=„datum.txt“;

print „content-type: text/html\n\n“;
( $sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst ) = gmtime( time );
$year += 1900;
my $date = sprintf( „%02d.%02d.%4d“,$mday,$mon,$year );
open(FILE, „datum.txt“);
{
local $/ = undef;
$datum = ;
}
if($date eq $datum){
print"heute schon getan";
exit;
}elsif($datum ne $date){
open(NUM,">datum.txt");
flock (NUM, 2);
print NUM $date;
close(NUM);

open(FILE, „$data1“);
{
local $/ = undef;
$daten = ;
}
close(FILE);
open(MAIL,"|$mailprog -t") || die;
print MAIL „To: $email1\n“;
print MAIL „From: $email2\n“;
print MAIL „Subject: $betreff\n\n“;
print MAIL „$daten\n“;
close(MAIL);

print" OK Auftrag erledigt";
exit;
}

Hi Pfanni,

warum installierst Du denn nicht einfach „Majordomo“ oder einen ähnlichen „Mail-Verteiler“, die verwalten eine Adressliste und sind in weiten Zügen frei konfigurierbar.

CU (M)ike

Hi (M)ike,

davon hab ich noch nix gehört. Hast du da vielleicht mal ein paar Links zur Hand, wo ich mich schlau machen kann??? Danke.

cu
Pfanni

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

hi Pfanni,

auf die Schnelle fallen mir da nur ein:
http://www.tu-chemnitz.de/urz/mail/mailverteiler.html
http://www.uni-marburg.de/hrz/services/mailinglists/
http://www.lug-ketsch.de/ml_hilfe.htm

um nur ein paar deutschsprachige zu nennen,
weitere Infos ist im Installationspaket zu majordomo enthalten.

CU (M)ike

Geschafft
habe ich dies schon für den Fall, dass diese Email täglich
verschickt wird. Nun bräuchte ich aber eine Erweiterung auf
eine Woche oder auch auf einen einstellbaren Intervall von
mehreren Tagen.

Bau doch einfach noch eine Abfrage dazu, die das Script nur bei $wday==0 ablaufen läßt (=sonntags) an anderen Tagen aber abbricht.
mfg
Marian

Bau doch einfach noch eine Abfrage dazu, die das Script nur
bei $wday==0 ablaufen läßt (=sonntags) an anderen Tagen aber
abbricht.
mfg
Marian

Hi,

wär schon eine gute Idee. Nur leider hab ich keine Ahnung, wie dies machen müsste. Hab leider nicht so viel Erfahrung mit Perl. Wäre also ideal, wenn mir da jemand mit einem Code-Teil helfen könnte.

Pfanni

Hallo Pfanni,
eigentlich musst du nur eine Zeile einfügen. Und zwar nach
( $sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst ) = gmtime( time );
$year += 1900;

die if $wday!=0; # 0 für Sonntag, 1 für Montag usw…

Ist vielleicht nicht besonders elegant, funktioniert aber.

sam2810

Hallo sam2810,

danke für den Tipp werde es mal ausprobieren.

cu
Pfanni

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

ich suche nach einer Möglichkeit einmal in der Woche
automatisch von einem Script eine Email verschicken zu lassen.
Das Script soll dann eine *.txt Datei auslesen und zusammen
mit der Email verschicken. (Die Voraussetzung, dass das Script
mindestens 1x pro Tag aufgerufen wird ist gegeben.)

hi pfanni - wozu die ganze aufregung? wenn dein script soweit funktioniert, reicht es doch, den aufruf über crond (du setzt doch wohl ein **ix-ähnliches OS ein, oder ???) zu automatisieren. schau doch mal unter

man cron
oder
man crontab
nach, da findest du die notwendigen antworten.

gruß
bbr

hi pfanni - wozu die ganze aufregung? wenn dein script soweit
funktioniert, reicht es doch, den aufruf über crond (du setzt
doch wohl ein **ix-ähnliches OS ein, oder ???) zu
automatisieren. schau doch mal unter

man cron
oder
man crontab
nach, da findest du die notwendigen antworten.

gruß
bbr

Hi,
ne geht leider nicht. Das erlaubt mir mein Provider nicht.

cu
Pfanni