Toto je mírně upravený PHP skript, kterým odesílám zprávy ze svých stránek. Můžete jej použít na vlastních stránkách a pro inspiraci. Pro správnou funkci je třeba, aby na serveru fungovalo PHP se správně nastavenou funkcí Mail().

Pro tento příklad neposkytuji žádnou podporu ani nápovědu!
Nepište mi prosím, že vám to nefunguje. Skript jsem zde vystavil pouze kvůli četným žádostem. Neručím za případné škody, které mohou vzniknout jeho používáním.

Příklad se vztahuje k textu o odesílání formulářů na mail. Zdroj formuláře je pod příkladem pod čarou, nyní to je výpis souboru, který zpracovává data a odesílá mail.


<?
$adresat = "nekdo@nekde";
/* Přicházejí proměnné $body, $name, $subject, $mail, $poznamka, $stylelink, $dalsipole */
eval ("\$body .= \"\n\"" . $dalsipole . ";");
if(!$poznamka) $poznamka = "*** *** ***";
?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<title>Mail na adresu <? echo $adresat ?></title>
<? if ($stylelink) echo "<link rel=\"stylesheet\" href=\"". $stylelink . "\" >" ?>
</head>

<body class="odeslaniMailu" >
<?
if( !($body || $subject || $name ) ) {
?>
<h2>Dopis je prázdný</h2>
<p>Váľím si vaąeho zájmu, nemá ale smysl odesílat bezobsaľný mail.</p>
<? } else {


if(@Mail($adresat, $subject, StripSlashes($body)."\n".$name."\n\n<? echo $poznamka ?>", "from: $name <$mail>"))

echo "<h2>Dopis byl odeslán, děkuji</h2>";


else { ?>
<!-- generuje se nový formulář pro odeslání přes klienta -->
<h2>Dopis se nepodařilo odeslat. </H2>
<p>Pravděpodobně blbne SMTP server. Omlouvám se. </p>

<form action="mailto:<? echo $adresat; ?>" method=post enctype="text/plain">
<input type="hidden" name="subject" value="<? echo $subject; ?>" >
<input type="hidden" name="body" value="<? echo $body; ?>" >
<input type="hidden" name="name" value="<? echo $name; ?>" >
<input type="hidden" name="mail" value="<? echo $mail; ?>" >
<input type="submit" value="Zkusit znovu"> pomocí prohlíľeče
</form>
Pokud se to ani napodruhé nepovedlo, zkopírujte si obsah a pošlete ho normální poštou.<br><br>
to: <? echo $adresat; ?><br>
subject: <?echo $subject; ?><br>
<br>
<? echo $body; } } /* Uzavírá se podmínka o poslání přes server a o prázdnosti polí */ ?>
<br>
<a href="javascript: history.go(-1)">Zpět</a>

</body></html>


Následuje zdroj formuláře, důležitá jsou v něm jen jména polí. Je nutno změnit action u formuláře tak, aby mířila na php soubor vypsaný výše (absolutně nebo relativně).


<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">

<title>Mail</title>

</head>

<body>

<form method="POST" action="adresa na ten soubor.php" name="online">

<table border="0" cellpadding="6" cellspacing="0" width="100%">

<tr>

<td>Předmět:</td>

<td><input type="text" name="subject" size="20"></td>

</tr>

<tr>

<td>Text:</td>

<td><textarea rows="8" name="body" cols="35" style="width: 90%"></textarea></td>

</tr>

<tr>

<td>Podpis</td>

<td><input type="text" name="name" size="20"></td>

</tr>

<tr>

<td>Váš e-mail:</td>

<td><input type="text" name="mail" size="20" value="@">, chcete-li odpovědět</td>

</tr>

<tr>

<td>

<td><input type="submit" value="Odeslat">

<!-- volitelná skrytá pole, odpoznámkuj, co se ti hodí -->

<!--

<input name="poznamka" type="hidden" value="Tento mail byl odeslán formulářem">

<input name="stylelink" type="hidden" value="http://tvujsoubor.css">

<input name="dalsipole" type="hidden" value="$name1 . $name2 . 'retezec'">

Další pole (v syntaxi PHP), která budou připojena k tělu dopisu,
např. value="'\n Poptávka: ' . $poptavka . '\n Pabídka: ' $nabidka"
\n je odřádkování
-->

--&gt;</td>

</table>

</form>

</body>

</html>