Probíhá hledání...

PHP: funkce mail()

PHP

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.

Komentáře

Pro odeslání komentáře je nutno být přihlášen