Uživatelsky nejjednodušší způsob odesílání mailu přímo z webové stránky je za pomoci formuláře a PHP skriptu.
V článku Formulář pro odeslání mailů jsem popsal níže uvedený kód formuláře. Je to hlavně pro ty, kteří s formulíři nemají žádnou zkušenost.
<form action="mail.php" method="post">
Vaše jméno:<br />
<input name="jmeno" type="text" /><br />
Váš e-mail:<br />
<input name="mail" type="text" /><br />
Předmět zprávy:<br />
<input name="predmet" type="text" /><br />
Text zprávy:<br />
<textarea name="text"></textarea><br />>
<input type="submit" value="Odeslat" />
<input type="reset" />
</form>
Údaje odešle samotná funkce mail, to ostatní však musí zajistit:
Vytvoříme soubor mail.php a do něj vložíme tento skript:
<?php
$jmeno = $_POST['jmeno'];/*takto proměnné přidělíme to co bylo odesláno ve formuláři metodou POST s atributem name="jmeno"*/
$mail = $_POST['mail'];
$predmet = $_POST['predmet'];
$text = $_POST['text'];
$prijemce = "vasmail@cokoli.cz";
/*vyplníte mail, na který se má formulář odesílat*/
$zahlavi = "From: " . $mail . "\r\n";
/*zobrazuje pak v mailu jako kdyby vám mail přišel přímo z tohoto mailu, můžete pak tedy rovnou odpovídat na mail, který uživatel uvedl*/
/*takto zajistíme, aby se mail neodeslal, pokud nejsou všechna pole vyplněna*/
if ( !empty($jmeno) and !empty($mail) and !empty($predmet) and !empty($text)) {
mail($prijemce, $predmet, $text, $zahlavi);
echo "<h3>Děkuji. Mail byl úspěšně odeslán.</h3>";
/*toto se vypíše do dokumentu, pokud se mail odešle*/
} else {
echo "<h3>Nevyplnili jste všechna pole. Mail nebyl odeslán.</h3>"; /*toto se vypíše pokud nebudou vyplněna všechna pole, mail se neodešle*/
}
?>
Příklad jsem malinko upravil, abyste si ho mohli opravdu vyzkoušet. Přidal jsem pole pro zadání vašeho mailu, abyste mohli sami sobě něco poslat a tak to otestovat.
mail("komu", "předmět", "zpráva", "hlavička" - není důležité)
Více se toho o funkci mail dozvíte na php.net.