PHP: funkce mail()
V následující ukázce si ukážeme jak propojit formulář s odesíláním e-mailů. Může se hodit v případě že máme kontaktní formulář a chceme jednotlivá odeslání formuláře si nechat posílat do e-mailové schránky
HTML Kód
<form method="post" action="./mailer.php">
<input type="hidden" name="send-mail" value="1">
<label for="from_name">Jméno a příjmení</label>
<input name="from_name" id="from_name" type="text" required>
<label for="from">E-mailová adresa</label>
<input name="from" id="from" type="email" required>
<label for="message">Vaše zpráva</label>
<textarea id="message" name="message"></textarea>
<button type="submit">Odeslat zprávu</button>
</form>
Náš mailer.php
<?php
if ($_REQUEST['send-mail'] ?? 0 == 1) {
$to = "inbox@mojedomena.cz";
$subject = "Kontaktní formulář";
$message = "Zprava z kontaktního formuláře: \n".$_REQUEST['message'];
// Převod předmětu do správného formátu pro e-mail
$subject = mb_encode_mimeheader($subject, 'UTF-8');
$headers = array(
'From' => mb_encode_mimeheader($_REQUEST['from_name'], 'UTF-8') . " <{$_REQUEST['from']}>",
'Reply-To' => $_REQUEST['from'],
'X-Mailer' => 'PHP/'.phpversion(),
'Content-Type' => 'text/plain; charset=UTF-8',
'Content-Transfer-Encoding' => '8bit'
);
mail($to, $subject, $message, $headers);
header('Location: ./dekujeme-za-kontaktovani');
exit;
}
?>
Více informací o funkci mail najdete v PHP dokumentaci.