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 Answers
Dobrý den,
odesílání přes mail() na Vašem hostingu funguje v pořádku. Pravděpodobně jste někde označován jako spam, i když máte spam score v pořádku.
Do SPF jsem Vám přidal IP webhostingu, zkuste tedy zda dorazí nyní, případně je potřeba hledat email u příjemce.
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>
Dobrý den,
vše je funkční.
Velice dekuji za trpělivost a rady.
Pěkný víkend
S pozdravem
Dobrý den,
SPF záznam nastavíte pomocí tohoto návodu -> https://kb.wedos.com/cs/webhosting/e-maily/e-maily-nastaveni-spf-zaznamu/.
Dobrý den,
děkuji za odpověď.
Nemá být v záznamu zmíněno ip4 ? Jako prefix. Případně jak doplnit ?
S pozdravem
PK
Dobrý den, email chodí děkuji.
Je nutné v SPF mit IP adresu hostingu ?