Nefunkční funkce mail()
Dobrý den,
prosím, mám u Vás zařízený webhosting a řeším problém ohledně formuláře a využití funkce php mail(). Vše se zdá, že odešle – žádná chyba, ale mail nepřijde.
$to = "xxxxx@outlook.cz"; $subject = "test"; $txt = "test2; $headers = "From: info@moje_domena_na_wedosu.cz"; mail($to,$subject,$txt,$headers);
Děkuji za každou radu
6 Odpověď
Vlákno nyní uzavírám z důvodu neaktivity. V případě potřeby založte nový dotaz nebo nás kontaktujte pomocí kontaktního formuláře.
V vašem přiloženém kódu se žádná chyba zobrazit nemusí.
Testněte tento php kód jestli se změní výsledek.
<?php
// zapnuti zobrazeni chyb
ini_set( 'display_errors', 1 );
error_reporting( E_ALL );
// parametry pro e-mail
$from = "test@hostinger-tutorials.com";
$to = "test@hostinger.com";
$subject = "Checking PHP mail";
$message = "PHP mail works just fine";
$headers = "From:" . $from;
// pokus o odeslani e-mailu
if(mail($to,$subject,$message, $headers)) {
echo "e-mail odeslan.";
} else {
echo "e-mail neodeslan.";
}
?>
Jeden z důvodů může být chybně/nedostatečně vyplněná hlavička.
Dalším důvodem neodeslání e-mailu je max. denní limit 500 e-mailů.
Doporučil bych spíše změnit php kód na odeslní pomocí SMTP.
Dobrý den.
chyba bude pravděpodobně v nastavené doméně odesílatele/Return-Path, adresu odesílatele zkuste v mail funkci dopsat dle WMS – odesílání e-mailů pomocí mail().
Tedy funkce pak obecně vypadá např. takto
<?php
mail('adresa@prijemce.tld','Předmět','Text zprávy','','-f adresa@odesilatele.tld');
?>
Ak je mail poslaný funkciou mail, tak outlook ho dosť často blokuje. Aj som to s nimi riešil, ale vždy to časom dopadlo rovnako.
Riešením je posielanie mailov cez SMTP, napr. cez skript PHPMailer