Подробнее о сценарии языка Perl WapMailHDML.pl
Подробнее о сценарии языка Perl WapMailHDML.pl
После того как пользователь введет все данные для посылки сообщения электронной почты внутри приложения WapMail.hdml, оно пересылает данные сценариюWapMailHDML.pl, который и осуществляет посылку сообщения. Очевидно, что элементы для пересылки сообщения в сценарии WapMailHDML.pl аналогичны использующимся в сценарии, описанном выше в этой главе. Они приведены ниже:
#!/usr/bin/perl
$mailprog = "/bin/sendmail";
read (STDIN, $Buffer, $ENV{'CONTENT_LENGTH'});
@data = split(/&/, $Buffer);
$ReplyTo = $data[0]; $SendTo = $data[1]; $MsgSubject = $data[2]; $MsgText = $data[3];
open(MAIL, "|$mailprog $SendTo");
print MAIL "Reply-To: $ReplyTo\n"; print MAIL "From: Demo\@waplib.com\n"; print MAIL "To: $SendTo\n"; print MAIL "Subject: $MsgSubject\n\n";
print MAIL "$MsgText\n";
close(MAIL);
print "Content-type: text/x-hdml\n\n"; print "<HDML Version=3.0 Markable=True TTL=0>\n\n"; print "<Display>\n"; print "<Action Type=Accept Task=GO Dest=../WapMail /WapMail.hdml"; print " Vars=SendTo=&MsgSubject=&MsgText=>"; print "Message has been sent to:<br>\n"; print "$SendTo\n"; print "</Display>\n"; print "</HDML>\n";
Если вы сравните описанные сценарии, то, как и в Главе 9, вы увидите, что онипо-разному анализируют данные передаваемых им параметров. Это происходитпотому, что элемент postf ield языка WML работает не так, как элемент postdataязыка HDML. Как было сказано в Главе 9, postf ield передает параметры парамиимя/значение. В отличие от него элемент postdata передает только значенияданных. Это означает, что приложение должно знать, в какой последовательности передаются данные. Как вы можете видеть, сценарий просто анализируетданные параметров, создает и пересылает сообщения электронной почты, и после этого создает новую деку формата HDML, которая информирует пользователяоб успешной передаче сообщения.