every pim sucks
Dieses Script in Kombination mit cron und at macht das Leben aber ein bissen angenehmer ...
Download Script
NAME
mail_alert -- schickt E-mail
SYNOPSIS
mail_alert [-f FROM] [-t TO] [-b BODY] [-h] SUBJECT
DESCRIPTION
Generiert eine E-mail auf der Basis der uebergeben Parameter mit SUBJECT als
Betreff, verwendet hierfuer Sendmail
Vor der ersten Benutzung sind die default Parameter fuer
"Sender-Mail-Adresse" ($from) und
"Empfaenger-Mail-Adresse" ($to) _im_Programm_ zu definieren
(oeffne dazu das Programm mit Deinem Lieblingseditor)
OPTIONS
-f "from" Absenderadresse (String)
-t "to" Empfaengeradresse (String)
-b "body" Mailinhalt (Datei oder String)
-h "Hilfe" zeigt diese Hilfe
EXAMPLES
Benutzung mit cron
0 0 15 10 * mail_alert "Oma hat in 3 Tagen Geburtstag!"
Benutzung mit at
echo "mail_alert \
-f \"ich@localhost\" \
-t \"meinFreund@server\" \
-b /home/ich/erinnerung.txt \
\"Bitte denk dran\"" \
| at teatime 05.08.06
AUTOR
Wulf Coulmann <scripts at gpl.coulmann dot de>
LICENCE
GNU GPL http://www.gnu.org/licenses/gpl.html
#!/usr/bin/perl
# schickt Mail aus per Parameter uebergebenen Angaben
# copyright Wulf Coulmann <scripts at gpl.coulmann dot de>
# GNU GPL
# http://www.gnu.org/licenses/gpl.html
#
# Download me here: http://gpl.coulmann.de/mail_alert
use strict;
# start config (Default-Angaben fuer Absender-Email und Empfaenger-Email)
my $to = 'konfiguriere mich';
my $from = 'konfiguriere mich';
# end config
# Input for debugging
my $input;
foreach my $now (@ARGV){
$input .= $now . ' ';
}
# Manpage
my $man = '
NAME
mail_alert -- schickt E-mail
SYNOPSIS
mail_alert [-f FROM] [-t TO] [-b BODY] [-h] SUBJECT
DESCRIPTION
Generiert eine E-mail auf der Basis der uebergeben Parameter mit SUBJECT als
Betreff, verwendet hierfuer Sendmail
Vor der ersten Benutzung sind die default Parameter fuer
"Sender-Mail-Adresse" ($from) und
"Empfaenger-Mail-Adresse" ($to) _im_Programm_ zu definieren
(oeffne dazu das Programm mit Deinem Lieblingseditor)
OPTIONS
-f "from" Absenderadresse (String)
-t "to" Empfaengeradresse (String)
-b "body" Mailinhalt (Datei oder String)
-h "Hilfe" druckt diese Hilfe
EXAMPLES
Benutzung mit cron
0 0 15 10 * mail_alert "Oma hat in 3 Tagen Geburtstag!"
Benutzung mit at
echo "mail_alert \
-f \"ich@localhost\" \
-t \"meinFreund@server\" \
-b /home/ich/erinnerung.txt \
\"Bitte denk dran\"" \
| at teatime 05.08.06
AUTOR
Wulf Coulmann <scripts at gpl.coulmann dot de>
LICENCE
GNU GPL http://www.gnu.org/licenses/gpl.html
';
my $config_me = ' ###########################################
# Bitte konfiguriere erst das Script! #
###########################################
';
my $bar = '=========================================================================';
# wird Hilfe aufgerufen, oder ist das Script unconfiguriert?
if ($input =~ m/-h/ ){
print $man;
exit;
}elsif ($to eq 'konfiguriere mich' || $from eq 'konfiguriere mich'){
print $config_me.$man.$config_me;
exit;
}
# Parameteruebernahme
my @input = @ARGV;
my $subject = pop @input;
my $body;
while (my $opt = shift @input){
if ($opt eq '-f'){
$from = shift @input;
}elsif($opt eq '-t'){
$to = shift @input;
}elsif($opt eq '-b'){
$body = shift @input;
if (-e $body){
open(BODY, "<$body") || print 'Fehler bei "mail_alert '.$subject.'"
Konnte Datei mit Text fuer Body nicht oeffnen - Mailversand erfolgt _ohne_ Body';
$body = '';
while(<BODY>){
$body .= $_;
}
close(BODY);
}
}else{
my $error = '
Fehler bei "mail_alert '.$input.'"
Falsche Parameter!
';
print $error.$bar.$man.$bar.$error;
exit;
}
}
if (length($subject)<1){
my $error = '
Keine SUBJECT uebergeben!
';
print $error.$bar.$man.$bar.$error;
exit;
}
my $nb;
if (length($body) < 1 ){
$nb = ' nb';
}
my $mail = 'From: '.$from.'
To: '.$to.'
Subject: [ nicht vergessen'.$nb.' ] '.$subject.'
'.$body;
open(MAIL, "|/usr/sbin/sendmail $to") || die 'Fehler beim Aufruf von Sendmail!
Um diesen Fehler zu beheben Pruefe die MTA-Configuration.
Mailversand abgebrochen!';
;
print MAIL $mail;
close(MAIL);