» Poradna » Zpět na dotaz

PHP Formulář pro odeslání emailu

Tom  |  22. 3. 2016 14:11:07  |  Odpovědí: 26

Dobrý den, učím se PHP a dělám si zkušební kontaktní formulář, ale zasekl jsem se, jelikož mi nejde odeslat mail jako takový... Formulář funguje, vyplnění, kontrola atd. Když ale kliknu na odeslat, tak mi do emailu nic nedojde. (Stránka běží na hostingu) Když mi to běží přes localhost tak mi to "vyplivne" zprávu: Warning: mail(): Failed to connect to mailserver at &quot;localhost&quot; port 25, verify your &quot;SMTP&quot; and &quot;smtp_port&quot; setting in php.ini or use ini_set() in C:\wamp\www\Student\contact.php on line 64 <?php // check for hacking simple prevetive against email injections function has_header_injection($str) { return preg_match("/[\r\n]/", $str); } if (isset($_POST['contact_submit'])) { $name = trim($_POST['name']); $email = trim($_POST['email']); $msg = trim($_POST['message']); //chech for header injections in email or name if (has_header_injection($name) || has_header_injection($email)) { die(); } if (!$name || !$email || !$msg) { echo "<h4 class='error'> ALL Fields required</h4><a href='contact.php' class='button block'>Go back and trz again</a>"; exit; } //add the recipent email message $to = "recipent@example.com"; // create a subject $subject = "$name sent you a message"; //construct message $message = "Name: $name\r\n"; $message .= "Email: $email\r\n"; $message .= "Message: \r\n$msg"; // if the chechbox is checked if (isset($_POST['subscribe']) && $_POST['subscribe'] == 'Subscribe') { $message .= "\r\n\r\nPlease add $email to the mailing list.\r\n"; } $message = wordwrap($message, 72); // set mail headers into variable $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; $headers .= "From: $name <$email>\r\n"; $headers .= "X-Priority: 1\r\n"; $headers .= "X-MSMail-Priority: High\r\n\r\n"; // Send the Email mail($to, $subject, $message, $headers); } ?> Můj dotaz tedy zní, nevíte někdo, kde je tam chyba? :D Díky předem za odpovědi.

Jméno:
 

E-mail (nepovinné, adresa bude v zabezpečené podobě zobrazena u přezdívky):

:-D :-)) :-) ;-) :-P :-| :-/ :-( 3-[ :-O B-]
 

Pravidla diskuzí v Poradně webu Živě.cz

Zasláním příspěvku do Poradny souhlasíte s těmito pravidly:

  • Podmínky užívání služby informační společnosti
  • Informace o zpracování osobních údajů
  • Příspěvky se musí týkat tématu otázky.
  • Příspěvky nesmí obsahovat vulgární výrazy a slovní útoky na jiné osoby. Příspěvky nesmí poškozovat web Živě.cz ani jeho provozovatele.
  • Je zakázáno vkládat do příspěvků odkazy na stránky nabízející obsah porušující autorská a jiná práva.
  • Příspěvky nelze využívat k propagaci.
  • Příspěvky, které porušují pravidla diskuzí, budou odstraněny. Případně budou upraveny tak, aby neporušovaly pravidla diskuzí. V textu bude následně uvedeno, že příspěvky byly ze strany moderátorů upraveny.
  • Právo moderovat Poradnu mají pouze zástupci vybraní redakcí Živě.cz. Základní kontrola příspěvku probíhá ještě před jeho zveřejněním.
  • Živě.cz je soukromý web a provozovatel má při řešení sporů, které se týkají příspěvků v Poradně, vždy konečné slovo.

Kdy vám můžeme smazat příspěvek?

  • Když budete vulgární.
  • Když budete slovně útočit na ostatní.
  • Když se nebudete držet tématu dotazu.
  • Když budete poradnu zneužívat pro reklamu.
  • Když záměrně zneužijete cizí přezdívku.
  • Když budete porušovat zákony.
  • A když budete na takové příspěvky reagovat, protože se vždy mažou včetně odpovědí ve stromu.