SMS i Perl...
Hej der...Jeg har (for et stykke tid siden) skrevet en meget, meget simpel SMS-sender i Perl. Nu ville jeg gerne bruge den på min nye account http://kilroy.whitehat.dk, men det duer ikke rigtig... Nogen, der kan sige mig, hvad der er galt og i givt fald hvorhenne - jeg poster både min *.cgi fil og *.html fil herunder...!
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
</head>
<body bgcolor=\"silver\" text=\"#000000\" link=\"#0000FF\" vlink=\"#800000\" alink=\"#FF0000\">
<table border=\"0\" cellpadding=“4\" width=“100%“ align=\"center\">
<tr>
<td width=\"10%\"><p align=\"center\"><img src=\"picture-bin\\u-arbejde.gif\"></p></td>
<td width=\"80%\"><p align=\"center\"><font size=\"7\">Velkommen til min hjemmeside</font></p></td>
<td width=\"10%\"><p align=\"center\"><font size=\"3\">(Under konstruktion)</font></p></td>
</tr>
</table>
<br>
<hr color=\"#DFC786\">
<br>
<table border=\"5\" width=\"100%\" cellpadding=\"4\" align=\"center\" bordercolor=\"#DDDDDD\">
<tr>
<td width=\"100%\">
<form action=\"/cgi-bin/formmail2.cgi\">
<p><b>Telefonnummeret, beskeden skal sendes til:</b></p>
<p><input type=\"text\" name=\"tlf\" size=\"20\"></p>
<br>
<p><b>Nummerets udbyder:</b></p>
<p><input type=\"radio\" name=\"udbyder\" value=\"@sms.tdm.dk\"> Teledanmark</p>
<p><input type=\"radio\" name=\"udbyder\" value=\"@gsm-1600.telia.dk\"> Telia</p>
<p><input type=\"radio\" name=\"udbyder\" value=\"@sms.mobilix.dk\"> Mobilix</p>
<p><input type=\"radio\" name=\"udbyder\" value=\"@note.sonofon.dk\"> Sonofon</p>
<br>
<p><b>Besked:</b></p>
<p><textarea cols=\"30\" rows=\"10\" name=\"besked\"></textarea></p>
<hr noshade>
<p>
<input type=\"submit\" name=\"send\" value=\"send\">
<input type=\"Reset\">
</p>
</td>
</tr>
</table>
<p><font size=\"2\"><em>Denne side er sidst opdateret mandag den 13. august 2001.</em></font>
</body>
</html>
Jep! Så\'n ser sms.html altså ud - sikkert ikke noget kønt syn, men hva\'... :-)
#!/usr/local/bin/perl
print \"Content-type: text/html\\n\\n\";
$mailprog = \'/var/qmail/bin/qmail-inject\';
&parse_form;
$email=$form{tlf}.$form{udbyder};
open(MAIL,\"|$mailprog\");
print MAIL \"To: $email\\n\";
print MAIL \"From: Peters SMS-service\\n\\n\";
print MAIL $form{besked},\"\\n\\n\";
close(MAIL);
print \"Din besked er sendt - Tak fordi du benyttede Peters SMS-service\";
sub parse_form {
if ($ENV{\'REQUEST_METHOD\'} eq \'GET\') {
@pairs = split(/&/, $ENV{\'QUERY_STRING\'});
}
elsif ($ENV{\'REQUEST_METHOD\'} eq \'POST\') {
read(STDIN, $buffer, $ENV{\'CONTENT_LENGTH\'});
@pairs = split(/&/, $buffer);
}
foreach $pair (@pairs) {
local($name, $value) = split(/=/, $pair);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(\"C\", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(\"C\", hex($1))/eg;
$value =~ s/<!--(.|\\n)*-->//g;
$form{$name}=$value;
};
};
Sådan ser cgi-koden altså ud... den ligger på whitehat under stien /cgi-bin/formmail2.cgi.
Når jeg udfylder formularerne på html-siden og trykker \'send\', får jeg bare den besked, at siden ikke kunne vises....
Plz help!