SMS script der gemmer mobiladresser.
Hejsa, jeg skal bruge et sms script i PERL, jeg har allerede noget kode fra et tidligere spørgsmål.#!/usr/bin/perl
#SMS sender#
#benyt følgende navne i din form: nummer,fra,emne & tekst#
#først opdeler vi lige den sendte data#
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
if (length($buffer) < 5) {
$buffer = $ENV{QUERY_STRING};
}
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$input{$name} = $value;
}
# nu har vi så den sendte data gemt i variablerne $input{'variabel'} #
#Nu tjekkes det så om en af felterne mangler#
@felter = split (/\|/, "nummer|fra|emne|tekst");
foreach $felt(@felter) { if (!$input{'$felt'}) {
print "content-type:text/html\n\n";
print "Feltet <b>$felt</b> mangler!";
exit;
}}
# nu tjekkes det så hvilken udbyder nummeret er hos #
if($input{'nummer'} >= 20100000&& $input{'nummer'} <= 20599999) { $udbyder="\@sms.tdm.dk";}
if($input{'nummer'} >=20600000&& $input{'nummer'}<= 20999999) {$udbyder="\@note.sonofon.dk";}
if($input{'nummer'} >= 21200000&& $input{'nummer'} <= 21999999) {$udbyder="\@sms.tdm.dk";}
if($input{'nummer'} >= 22100000&& $input{'nummer'} <= 22999999) {$udbyder="\@note.sonofon.dk";}
if($input{'nummer'} >= 23200000&& $input{'nummer'} <= 23499999) {$udbyder="\@sms.tdm.dk";}
if($input{'nummer'} >= 26100000&& $input{'nummer'} <= 26999999) {$udbyder="\@sms.mobilix.dk";}
if($input{'nummer'} >= 28100000&& $input{'nummer'} <= 28999999) {$udbyder="\@sms.mobilix.dk";}
if($input{'nummer'} >= 40100000&& $input{'nummer'} <= 40499999) {$udbyder="\@sms.tdm.dk";}
if($input{'nummer'} >= 40500000&& $input{'nummer'} <= 40999999) {$udbyder="\@note.sonofon.dk";}
if(!$udbyder) {
print "content-type:text/html\n\n";
print "Telefon-nummeret <b>$input{'nummer'}</b> er ugyldigt!\n";
exit;
}
$mailprog = '/usr/lib/sendmail';
open(MAIL,"|$mailprog -t");
print MAIL "To: $input{'nummer'}$udbyder\n";
print MAIL "From: $input{'fra'}\n";
print MAIL "Subject: $input{'emne'}\n\n" ;
print MAIL "$input{'tekst'}\n";
close (MAIL);
print "content-type:txt/html\n\n";
print "beskeden er sendt!";
exit;
Men den skal gemme de itastede adresser!
