Autor Zpráva
alterego3000
Profil
Zdravím všechny. zkouším webový formulář, který je odesílán přes PHP soubor, a vždycky mi to napíše že email byl úspěšně odeslán, ale žádný nepřijde... Nevíte co s tím? Přikládám kódy s obou souborů:
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Odesílání emailu</title>
</head>
<body>
<h1>Odesílání emailu</h1>

<form action="posli.php" method="post">
<input name="email" size="25" value="XXX@seznam.cz"><br>
<input name="predmet" size="25" value="Předmět"><br>
<input name="spam" size="25"> <strong>= 1 + 1</strong><br>
<textarea name="zprava" rows="6" cols="55">Zpráva...</textarea><br>
<input type="submit" value="Odeslat">
</form>

</body>
</html>
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<title>Odesílání emailu</title>
</head>
<body>
<h1>Odesílání emailu</h1>

<?
$predmet = $_POST['predmet'];
$email = $_POST['email'];
$spam = $_POST['spam'];
$zprava = $_POST['zprava'];

if ($predmet!="" and $email!="" and $zprava!="" and $spam=="2")
{
Mail("XXX@seznam.cz", $predmet, $zprava, "From: " . $email);
echo "<p><strong>Váš e-mail byl úspěšně odeslán</strong>.</p>";
}
else
{
echo "<p>Váš e-mail se <strong>nepodařilo odeslat</strong> pravděpodobně jste nevyplnili všechny údaje, nebo nevíte kolik je 1 + 1.</p>";
} 
?>

</body>
</html>
Davex
Profil
Skript jsem vyskoušel a zpráva na e-mail Seznamu přišla. Zkus použít www.mail-tester.com a opravit všechny nedostatky, které najde. Případně místo funkce mail() sestavuj a odesílej e-mail s pomocí třídy PHPMailer.
Keeehi
Profil
A kde to testuješ. Na nějakém webhostingu, nebo u sebe na localhostu? Protože jestli na localhostu, pak nejspíše nemáš nainstalovaný mailserver -> nemá ti co ty emaily odesílat.

Pokud na hostingu, tak pak tím že nastavuješ hlavičku From a odesíláš to ze "svého" serveru, tak je dost možné, že zpráva neprojde spammovým filtrem. Zkus si otestovat, jak na tom email je na www.mail-tester.com.
alterego3000
Profil
Keeehi:
Mám to na free hostingu od endory... A mám tedy odstranit from, nebo co s tím mám udělat? (v php jsem opravdu začátečník...)


Keeehi:
mail-tester už jsem zkoušel a měl jsem skóre 8.8 . To asi není špatné ne?
Lonanek
Profil
alterego3000:
Mám to na free hostingu od endory...
Nemáte účet (doménu) ve verzi Lite?
Davex
Profil
alterego3000:
mail-tester už jsem zkoušel a měl jsem skóre 8.8 . To asi není špatné ne?
Pokud se ti takto podařilo otestovat, tak to znamená, že formulář funguje a údaje z formuláře se odešlou e-mailem. Pokud to nepřijde do doručené pošty, tak to také může být v jiné složce, třeba Spam, nebo je potřeba opravit něco z toho, za co Mail Tester strhává body.
Martin Joneš
Profil
Já osobně bych použil PHPmailer, než mail() funkci, jak říká Davex. Co jsem tak slýchal by měl být bezpečnější.
alterego3000
Profil
Lonanek:
možná to bude znít hloupě, ale jak poznám že mám účet lite?
CZechBoY
Profil
alterego3000:
lite je zadarmo, ostatní placené
Lonanek
Profil
alterego3000:
V administraci účtu. Poud uvedete účet nebo doménu, mohu Vám to sdělit, popřípadě se můžete dotázat zde.

CZechBoY:
Varianta LITE a FREE jsou zdarma. Ve variantě LITE je navíc zakázána funkce mail().

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: