[WML][PHP] Jak stworzyć bramkę do wysyłania maili?

0x01 graphic

Chcesz stworzyć bramkę do wysyłania poczty elektronicznej.

0x01 graphic

Nie każdy telefon wyposażony jest w klienta poczty elektronicznej, stąd bardzo przydaje się skrypt do wysyłania listu ze strony WML. Wystarczy podać adres e-mail odbiorcy, adres nadawcy, tytuł i treść listu.

Po wypełnieniu formularza zostanie on wysłany z przeglądarki WAP na adres odbiorcy. Napiszmy taki skrypt:

<?

header("Content-type: text/vnd.wap.wml");

echo '<?xml version="1.0"?>

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"

"http://www.wapforum.org/DTD/wml_1.1.xml">';

$odbiorca = $_POST["odbiorca"];

$nadawca = $_POST["nadawca"];

$tytul = $_POST["tytul"];

$tresc = $_POST["tresc"];

?>

<wml><card id="k1" title="Bramka e-mail">

<?

if ($odbiorca=="" and $nadawca=="") {

echo '

<do type="accept" label="Wyslij">

<go href="index.php" method="post">

<postfield name="nadawca" value="$(nadawca)"/>

<postfield name="odbiorca" value="$(odbiorca)"/>

<postfield name="tytul" value="$(tytul)"/>

<postfield name="tresc" value="$(tresc)"/>

</go>

</do>

<p>

E-mail nadawcy:<br/> <input title="nadawca" name="nadawca"/><br/>

E-mail odbiorcy:<br/> <input title="odbiorca" name="odbiorca"/><br/>

Tytul:<br/> <input title="tytul" name="tytul"/><br/>

Tresc listu:<br/> <input title="tresc" name="tresc"/> <br/>

</p>';

} else {

echo "<p>Mail wyslany!<br/>";

mail($odbiorca, $tytul, $tresc, "From: $nadawca");

echo "<a href=\"index.php\">Wroc...</a></p>";

}

?>

</card></wml>

Dane będziemy przesyłać za pomocą metody POST, stąd do odbieranie parametrów używam tej metody. W zależności od tego, czy zostały przesłane adresy nadawcy i odbiorcy, strona albo poprosi o wpisanie danych albo wyśle list.

Formularz do wysyłania jest standardowy, z etykietami pól i etykietą "Wyślij" widoczną po zakończeniu wypełniania formularza. Dane po zaakceptowaniu wysyłane są do tego samego skryptu. Odbiera on pola i wysyła list funkcją mail().