2015-09-03 11 views
0

Я знаю, что это популярный вопрос. Однако никакие другие вопросы не могут дать мне ответ, который я ищу.PHP Mail Form не отправляет

У меня есть контактная форма (почта(), и я не могу ее отправить. Кодер, который помог мне создать его, как-то заставил его отправить, потому что я получил несколько сообщений в своем почтовом ящике, закодирован для отправки. Я копирую и вставил код, и я тестирую его локально, но он не отправляет почту.

Проблема в том, что она не отправляется, потому что я тестирую ее локально, а ее не живут и размещаются ? или еще делает проблему полагаться в своем коде, и если да, то где

*** Не включая код проверки, но она у меня есть ...

ФОРМА:

<form method="post" action=""> 
       <input type="text" name="name" placeholder="*Name" value="<?php echo $_POST['name']; ?>"> 
       <input type="tel" name="phone" placeholder="*Phone Number" value="<?php echo $_POST['phone']; ?>"> 
       <input type="email" name="email" placeholder="*Email" value="<?php echo $_POST['email']; ?>"> 
       <input type="text" name="invoice" placeholder="Invoice Number (optional)" value="<?php echo $_POST['invoice']; ?>"> 
       <textarea name="comments" maxlength="500" rows="10" cols="10" placeholder="*Please enter your comments here..."><?php echo htmlentities($_POST['comments'], ENT_COMPAT,'ISO-8859-1', true);?></textarea> 
       <button type="submit">Submit</button> 
      </form> 

PHP:

if(!empty($_POST)){ 
$POST = filter_post($_POST); 
$invoice = array_splice($POST,3,1); 
$MSG = check_empty($POST); 
$email = test_input($_POST["email"]); 

if(!array_filter($MSG)){ 
    if(!filter_var($email, FILTER_VALIDATE_EMAIL)){ 
    $MSG[] = "Invalid Email Format ([email protected])"; 
    } 
    else{ 
     $POST['invoice'] = $invoice['invoice']; 
     if(send_mail($POST)){ 
      header('Location: messageSent.php'); 
     } 
     else{ 
      $MSG[] = "Email Failed. Please Try Again."; 
     } 
    } 
} 
} 



function send_mail($POST){ 
extract($POST); 
$to = '[email protected]'; 
$sbj = 'New Question For Se7en Service!'; 
$msg = "Name: $name \n Phone: $phone \n Email: $email \n Invoice #: $invoice \n Comments: $comments"; 
$headers = "From: $email"; 
return(mail($to, $sbj, $msg, $headers)); 
} 

ответ

0

Вам потребуется smtp сервер в вашем локальном хосте. В противном случае вы не сможете отправить его.

+0

Как мне реализовать его? Первый сайт с формой, так что этот мир для меня новичок – blackRob4953

+0

Просто google «отправьте почту с php с localhost». Первая ссылка должна это сделать. – taxicala

+0

Спасибо. Посмотрите на это. Цените помощь! – blackRob4953