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,
než technik email prověří, zkuste si ještě odesílací příkaz upravit na
if (!mail($seller, $subject, $body, $headers, "-f " . $seller))
Rovněž si případně zkontrolujte spam score odesílacího emailu – https://www.mail-tester.com/
Dobrý den,
děkuji za odpověď.
SPF jsem na doméně nastavil.
Zkoušel jsem odeslat z URL http://dretex.cz/dotaznik-mailer.php na mailové schránky na centrum a gmail. Email nedorazil.
Kde by mohla být chyba, když Vám to chodí?
Děkuji
S pozdravem
Zdravím,
Váš kód jsem vyzkoušel a na testovací adresu mi email dorazil, zatímco když jsem ponechal odesílací adresu Vaší, tak nedorazil. Problém bude tedy v tom, že emaily končí někde ve spamu už u mailserverů. Zkuste si nastavit SPF záznam, pravděpodobně Vám to pomůže.
Dobrý den,
děkuji za odpověď.
Kód níže.
Na mail.php ani SMTP není napojeno.
Tudíž musím na web, do domény umístit jednu s knihoven a napojit nebo je poskytujete ?
Děkuji
S pozdravem
<?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="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css" 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,
web je vlastní kód nebo nějaké CMS? Formulář je řešený přes php mail() funkci nebo přes SMTP knihovnu? Jaký je nastavený email pro odesílání?