2013-12-09 5 views
0

Я признаю, что я не лучший на PHP, но то, что я делаю, обычно работает достаточно хорошо для меня, потому что клиентам просто нужна информация, отправленная на их электронные письма, и защитный вопрос работает достаточно хорошо, чтобы спам не попадал в их почтовый ящик. Но по какой-то причине этот код не будет работать, и я не могу понять, почему. Этот же код с разными переменными находится на другом сайте, который я тестировал и работаю. У кого-нибудь есть совет?PHP загружается, но не отправляет мне по электронной почте

<form action="submit_form.php" method="POST" > 
<p>Name<br /><input type="text" name="name" required /></p> 
<p>Email Address<br /><input type="text" name="email" required /></p> 
<p>Phone Number<br /><input type="text" name="phone" required /></p> 
<p>County<br /><input type="text" name="county" required /></p> 
<p>Annual Income<br /><input type="text" name="income" required /></p> 
<p>What is 4 + 1? (anti-spam)<br /><input type="text" name="answer" required /></p> 
<input type="submit" value="Take The First Step" /> 
</form> 

<?php # BOOST 
$name = $_POST['name']; 
$email = $_POST['email']; 
$phone = $_POST['phone']; 
$county = $_POST['county']; 
$income = $_POST['income']; 
$correct_answer = '5'; 
$answer = $_POST['answer']; 

if ($correct_answer != $answer) { 

die("You're not a valid user of this site!"); 

} 
else { 


$to = "[email protected]"; 
$subject = "USDA LOANS"; 
$message = "USDA LOANS:\n 
Name: $name 
Email: $email 
Phone: $phone 
County: $county 
Annual Income: $income"; 
$from = "USDA Loans"; 
mail($to,$subject,$message,$headers); 
echo "Thank you for getting in contact with us. We will be in contact with you soon   regarding your USDA Loan! <a href=http://www.usdaloansmo.com>Click Here</a> to go back to our website!"; 
} 
?> 
+0

В качестве примечания вам не хватает вашего PHP-тега. '? php' должен быть' Ryan

+0

Я исправил его здесь, но это была ошибка при копировании из моего документа. Спасибо –

+0

Вам нужно сделать некоторые основные отладки самостоятельно? Проверьте возвращаемое значение 'mail()' для логического ложного (сбой). Проверьте журналы своего почтового сервера, чтобы узнать, правильно ли он передал электронное письмо, и что с ним случилось потом. –

ответ

1
$from = "[email protected]"; //email ID 
    $headers = "From:" . $from; 


    mail($to,$subject,$message,$headers); 

Я считаю, что это сработает.

+0

Большое вам спасибо, он работает сейчас. –

+0

Рад, что я мог бы помочь. Помните, что это ответ? – sulmanpucit

+0

без проблем. извините, что я очень новичок на этом сайте –

0

Это неправильно:

$from = "USDA Loans"; 
mail($to,$subject,$message,$headers); 

Вы не используете $from и $headers не определено.

+0

Не могли бы вы рассказать мне, что делать, чтобы исправить эту проблему? Я не хочу звучать неосведомленно, но я не знаю много php, поэтому все так основательно. –

+0

@ user2697116 Проверьте руководство по 'почте': http://php.net/manual/en/function.mail.php – jeroen

0

Вот как вы отправляете электронное письмо с использованием php.

$to="[email protected]"; 
$subject="Your subject"; 
$header="from: ABCName <[email protected]>"; 
$message="Message \r\n"; 
$sentmail = mail($to,$subject,$message,$header); 
if($sentmail) 
{ 
    echo "Done"; 
} 
else 
{ 
    echo "Oops, Something went wrong"; 
} 
Смежные вопросы