2016-11-16 14 views
1

メールを送信するためのPHPスクリプトを作成しましたが、else状態の「エラー」メッセージしか表示されません。私はメールを受け取ることができません.....それは私のメール機能が動作しないことを意味します...メール機能が動作しません....理由を取得できません

何が問題になりますか?

$name=$_POST['name']; 
$email=$_POST['email']; 
$phone=$_POST['phone']; 
$comments=$_POST['comments']; 
$verify=$_POST['verify']; 

if(trim($name) == '') { 
echo '<div class="error_message">Attention! You must enter your name.</div>'; 
exit(); 
} else if(trim($email) == '') { 
echo '<div class="error_message">Attention! Please enter a valid email address.</div>'; 
exit(); 
} else if(trim($phone) == '') { 
echo '<div class="error_message">Attention! Please enter a valid phone number.</div>'; 
exit(); 
} else if(!is_numeric($phone)) { 
echo '<div class="error_message">Attention! Phone number can only contain digits.</div>'; 
exit(); 
} else if(!isEmail($email)) { 
echo '<div class="error_message">Attention! You have enter an invalid e-mail address, try again.</div>'; 
exit(); 
} 
if(!isset($verify) || trim($verify) == '') { 
echo '<div class="error_message">Attention! Please enter the verification number.</div>'; 
exit(); 
} else if(trim($verify) != '4') { 
echo '<div class="error_message">Attention! The verification number you entered is incorrect.</div>'; 
exit(); 
} 
if(get_magic_quotes_gpc()) { 
$comments = stripslashes($comments); 
} 


$to="[email protected]"; 

$subject='Inquiry'; 

$message='Name : '.$name."<br />".'Email : '.$email."<br />".'Mobile : '.$phone."<br />".'Message : '.$comments; 

$headers = "MIME-Version: 1.0\r\n"; 
$headers .= "Content-type: text/html; charset=utf-8\r\n"; 
$headers .= "From: ".$email."\r\n"; 
$headers .= "Reply-To: ".$email."\r\n"; 
$headers .= "X-Mailer: PHP/".phpversion(); 

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

if($mail) { 
echo "<fieldset>"; 
echo "<div id='success_page'>"; 
echo "<h4>Email Sent Successfully</h4>"; 
echo "<p>Thank you $name, your message has been submitted to us.</p>"; 
echo "</div>"; 
echo "</fieldset>"; 
} 
else { 
echo "ERROR"; 
} 
+0

あなたのPHPが正しく設定されており、メールの送信に使用するSMTPサーバーがあることを確認しましたか? –

答えて

2

これは私が想定している問題です。

if(!isEmail($email)) {} 

ISEMAILはあなたが私はワードプレスのだと思いますどのis_email意味しない限りfucntionではないでしょうか? か私が知っていますが、これはあまりにも

if (filter_var($email, FILTER_VALIDATE_EMAIL)) { //Return True Is Valid 
echo "HEY IM VALID"; 
} 

を働くだろうfilter_email

とにfilter_var使用することができます1。また、私はこの

foreach ($_POST as $item => $value){ 
    if($value === ""){ echo $item." must be a valid input"; exit();} 
} 
+0

ok ... btその検証の問題...私はメールの問題を解決したいです.... plzは私に助けてください.. – Siddhu

+0

あなたのメール構造は問題なく、電子メールを送信します、あなたのホスティングをチェックしたいかもしれませんが、彼らはメール機能を最も自由にブロックすることを許可していますか?しかし私には私のホスティングサーバーに無料のアカウントを与えてもらえませんか? –

+0

else if(trim($ verify)!= '4'){ echo '

Attention! The verification number you entered is incorrect.
'; exit(); } $ _POST ['verify'] = 4 –

3

のようないくつかの方法で、if文をやり直すでしょうそれは、メールと思われます関数はfalseを返します。 mail関数は常にtrueまたはfalseを返します。 SMTPエラー、接続エラーなどのメールがないと、何がうまくいかなかったかを簡単に調べることができます。可能性の数はそこにあります。 have a look at this link

+0

SMTPエラーがないことを確認してください....何か違う...スクリプトの問題かもしれません... plzを解決してください....サイトはライブです.. – Siddhu

+0

$ checkmail = mail('[email protected] '、' My Subject '、$ message); if($ check){echo 'sent!';} else {print_r(error_get_last())}; –

+0

あなたのスクリプトは正しいです。問題はあなたのサーバー構成内にあると思います。一度クロスチェックしてください。同じコードが私のマシンで動作しています。 –

関連する問題