2016-05-19 6 views
1

私のウェブサイトは次のとおりです:www.accurateaccountsinc.tk 問題は、ウェブサイトがロードされて何もしないことです。 すべてはlocalhost/wampでは正常に動作しますが、タスク実行時には実際のサイトでは動作しません。wampで完全に動作しても私のウェブサイトはメールを送信しません

こちらのフォーム

<form method="POST" action="index.php"> 
    <input type="text" required name="name" id="name" placeholder="Enter Your Name" /> 
    <input type="text" required name="email" id="email" placeholder="Enter Your Email" /> 
    <input type="text" required name="phone" id="phone" placeholder="Phone Number" /> 
    <textarea name="message" required id="message" placeholder="Enter Your Message"></textarea> 
    <input type="submit" name="mailed" value="Submit" /> 
</form> 

のコードここでは、PHPのです:

<?php 
    include 'dbconn.php'; 
    if(isset($_POST['mailed'])){ 
     $name = mysqli_real_escape_string($con,$_POST['name']); 
     $emailadd = mysqli_real_escape_string($con,$_POST['email']); 
     $contact = mysqli_real_escape_string($con,$_POST['phone']); 
     $entrymessage = mysqli_real_escape_string($con,$_POST['message']); 

     include "class.phpmailer.php"; 
     include "class.smtp.php"; 
     $mail = new PHPMailer(); 
     $mail->IsSMTP(); 
     $mail->SMPTDebug = 1; 
     $mail->SMTPAuth = true; 
     $mail->SMTPSecure = 'tls'; 
     $mail->Host = "smtp.gmail.com"; 
     $mail->Port = 587; 
     $mail->IsHTML(true); 
     $mail->Username = "email here"; 
     $mail->Password = "password here"; 
     $mail->SetFrom("email here", 'Website Entry'); 
     $subject = "Client Entry"; 
     $message = "<br>Client Name: " . $name; 
     $message .= "<br>Email Address: " . $emailadd; 
     $message .= "<br>Contact Number: " . $contact; 
     $message .= "<br>Message: " . $entrymessage; 
     $mail->Subject = $subject; 
     $mail->Body = $message; 
     $mail->AddAddress("email here", $name); 

     if($mail->Send()){ 
      unset($_POST['mailed']); 
      echo "<script>window.open('index.php','_self')</script>"; 
     } 
    } 
?> 

あなたが聞いてください知りたいのですが、それ以上の情報があるかどう.. はまた、私は唯一のことに注意をclass.phpmailer.phpとclass.smtp.phpを使用して問題に関連する作業を最小限に抑えました..

+0

ローカルホストでコードが正常に動作する場合は、サーバー/ホストがポート587をブロックしている可能性があります。確認してください。 –

+1

または含まれているファイルが別の場所にあります。 mysqli_real_escape_stringはDBエスケープのためのもので、電子メールのデータに対して何もしません。 – chris85

+0

そのポートのブロックを解除する方法はありますか?または任意の回避策? –

答えて

1

Typo:便利なフィードバックを得るには2に設定する必要があります。

また、発生した可能性のあるエラーは表示されないため、送信が失敗した場合はecho $mail->ErrorInfo;になります。

gmailをポート25に送信することはできません。 Gmailのみ送信できます。すべての例と同様に、ポート587のtlsに固執し、docsと言う。私はあなたのコードがどこにあるのかはわかりませんが、古い例を使ったようです - それはthe examples provided with PHPMailer、特にgmailのものに基づいているべきです。

関連する問題