formular web
Dobrý den,
obracím se na Vás s dotazem ohledně formuláře na webu.
Na URL http://dretex.cz/dotaznik-mailer.php je formulář, který po odeslání nic neodešle, aniž by nahlásil chybu, tváří se, že je vše ok.
Je možné tento formulář nasměrovat na Váš mail server, aby emaily odcházeli a byl tím také formulář zabezpečen ?
Předem děkuji za odpověď
S pozdravem
13 Odpověď
Dobrý den,
– odkud jsou e-maily odesílány (přes náš SMTP server, z PHP na webhostingu, odjinud) – z PHP na webhostingu. z URL http://dretex.cz/dotaznik-mailer.php.
– co nejpřesnější datum a čas odeslání zprávy T: 09:42 17.02.2021
– e-mailová adresa odesílatele – info@dretex.cz
– e-mailová adresa příjemce – pecak23@gmail.com
SPF záznam jsem na doméně dretex.cz založen.
Na formu je action <form action="?send" method="post">
Případně jak napojit na Váš mail nebo SMTP server ?
Kod formulare
<?php
function mail_headers($fromEmail, $fromName, $contentType = "text/plain")
{
$headers = "From: $fromName <$fromEmail>\n";
$headers .= "Reply-To: $fromEmail\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: $contentType; charset=utf-8\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
return $headers;
}
?><!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="<a href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css">https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css</a>" rel="stylesheet" integrity="sha384-BmbxuPwQa2lc/FVzBcNJ7UAyJxM6wuqIj61tLrc4wSX0szH/Ev+nYRRuWlolflfl" crossorigin="anonymous">
<title>Odeslání dotazníku zákaznické spokojenosti</title>
</head>
<body>
<div class="container">
<h1>Odeslání dotazníku zákaznické spokojenosti</h1>
<?php
$sellerName = 'Petr Milčic';
$sellerCompany = 'dretex.cz';
$seller = 'info@dretex.cz';
$body =
"Dobrý den,
mnohokrát děkuji za projevenou důvěru v naší spolupráci. Rád bych Vás poprosil o vyplění kraťoučkého dotazníku zákaznické spokojenosti. Zabere Vám sotva minutu a nám moc pomůže.
Zde je formulář k vyplnění:
https://forms.gle/nYcTf1nQB4MnRwqHA
Děkuji!
S pozdravem
$sellerName
$sellerCompany
";
$correct = false;
if (isset($_GET['send'])) {
$correct = true;
$email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$correct = false;
echo '<p class="alert alert-danger" role="alert">Vyplňte správný e-mail.</p>';
}
if ($correct) {
$headers = mail_headers($_POST['email'], $sellerName);
$subject = 'Prosba o hodnocení';
if (!mail($seller, $subject, $body, $headers, "-f $seller"))
echo '<p class="error">Omlouváme se, ale při odesílání mailu se vyskytla chyba, opakujte prosím akci později.</p>';
else
echo '<p class="alert alert-success">Váš email byl úspěšně odeslán.</p>';
}
}
if (!$correct) {
?>
<form action="?send" method="post">
<div class="mb-3">
<label for="exampleInputEmail1" class="form-label">E-mail zákazníka</label>
<input type="email" name="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" value="<?php echo isset($email) ? $email : ''; ?>" placeholder="@">
</div>
<div class="mb-3">
<textarea readonly class="form-control" style="min-height: 300px"><?php echo $mailText; ?></textarea>
</div>
<div class="mb-3">
<button type="submit" class="btn btn-primary">Odeslat</button>
</div>
</form>
<?php
}
?>
<hr />
<h2>Jak přidat tuto stránku na plochu</h2>
<h3>Android</h3>
<ol>
<li>Otevřete tuto stránku v Chromu</li>
<li>Klikněte na menu (tři tečky)</li>
<li>Vyberte možnost Přidat na plochu</li>
</ol>
<h3>iPhone</h3>
<ol>
<li>Otevřete tuto stránku v Safari</li>
<li>Klikněte na sdílecí tlačítko</li>
<li>Vyberte možnost Přidat na plochu</li>
</ol>
</div>
</body>
</html>