2013-11-04 124 views
-8

我有一個基本的聯繫表,由於某種原因,它不會發送任何想法:http://bit.ly/1b6UY7i聯繫表格不發送電子郵件?

contact.html

<ul class="contactform"> 
        <li><label>Name </label><input type="text" id="namefield" name="contact_name" class="form_field contactInput required" /></li> 
        <li><label>Subject </label><input type="text" id="subjectfield" name="contact_subject" class="form_field contactInput required" /></li> 
        <li><label>Email </label><input type="text" id="emailfield" name="contact_email" class="form_field contactInput required email" /></li> 
        <li><label>Message </label><textarea id="messagefield" name="contact_message " class="contactInput required"></textarea></li> 
        <li><button id="sendMessage" class="btn"><i class="icon-mail-2"></i> Send Message</button></li> 
       </ul> 

MainHandler.php

include_once (dirname(dirname(__FILE__)).'/CONFIG.php'); 

    //Initial response is NULL 
    $response = null; 

    //Initialize appropriate action and return as HTML response 
    if (isset($_POST["action"])) { 
    $action = $_POST["action"]; 

switch ($action) { 
    case "Initialize": { 
      $mainData = array(); 

      include_once (dirname(dirname(__FILE__)).'/php/classes/class__twitter.php'); 
      $twitter = new LordWEBTweet(); 
      $twitts = $twitter->GetTweets($twitter_name, 3); 

      $mainData["Twitts"] = $twitts; 
      $mainData["Start_Date"] = $start_date; 

      $response = $mainData; 
     } 
     break; 
    case "SignUp": { 
      if (isset($_POST["email"]) && !empty($_POST["email"])) { 
       $subscriberEmail = $_POST["email"]; 
       include_once (dirname(dirname(__FILE__)).'/php/classes/class__mail.php'); 

       $messageText = 'You have new subscriber for your site.<br /><br />This is the subscribed email address<br />====================================<br />' . $subscriberEmail; 

       $mail = new LordWEBMail(); 
       $response = ($mail->SendEmail($messageText, $signUpNotificationSubject, $signUpEmail, $email)) ? "Message Sent" : "Sending Message Failed"; 
      } else { 
       $response = "Sending Message Failed"; 
      } 
     } 
     break; 
    case "SendMessage": { 
      if (isset($_POST["name"]) && isset($_POST["email"]) && isset($_POST["subject"]) && isset($_POST["message"]) 
        && !empty($_POST["name"]) && !empty($_POST["email"]) && !empty($_POST["subject"]) && !empty($_POST["message"])) { 
       include("classes/class__mail.php"); 
       $mail = new LordWEBMail(); 
       $response = ($mail->SendEmail($_POST["message"], $_POST["subject"], $_POST["email"], $email)) ? "Message Sent" : "Sending Message Failed"; 
      } else { 
       $response = "Sending Message Failed"; 
      } 
     } 
     break; 
    default: { 
      $response = "Invalid action is set! Action is: " . $action; 
     } 
     } 
    } 

    if (isset($response) && !empty($response) && !is_null($response)) { 
    echo '{"ResponseData":' . json_encode($response) . '}'; 
    } 
    ?> 

main.js

$('#sendMessage').click(function(){  
    if(validateInput()){ 
     sendMail(); 
    }else 
    { 
     alert('Please fill all fields to send us message.'); 
    } 
}); 

    var validateInput = function(){ 
var isValid = true; 
$('input, textarea').each(function(){ 
    if($(this).hasClass('required')) 
    { 
     if($(this).val()!=''){ 
      if($(this).hasClass('email')) 
      { 
       var emailReg = /^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})?$/; 
       if(!emailReg.test($(this).val())){ 
        isValid = false; 
        alert('Your email is not in valid format'); 
       } 
      } 
     }else 
     { 
      isValid = false; 
     } 
    } 
}); 
return isValid; 

};

var resetInput = function(){ 
$('input, textarea').each(function() { 
    $(this).val('').text(''); 
}); 

};

變種的SendMail =函數(){ VAR PARAMS = { '動作': '的SendMessage', '姓名':$( '[名= CONTACT_NAME]')VAL(), '電子郵件'。: $('[name = contact_email]')。val(), 'subject':$('[name = contact_subject]')。val(), 'message':$('[name = contact_message]') .val() }; $就({ 類型: 「POST」, URL: 「的PHP/mainHandler.php」, 數據:參數,可以 成功:功能(響應){ 如果(響應){ VAR responseObj = jQuery.parseJSON (響應); 如果(responseObj.ResponseData) $( 'label.sendingStatus')文本(responseObj.ResponseData); showMessage( '你的消息已發送。謝謝!');

 } 
     resetInput(); 
     $('#sendMail').removeAttr('disabled'); 
    }, 
    error: function (xhr, ajaxOptions, thrownError){ 
     //xhr.status : 404, 303, 501... 
     var error = null; 
     switch(xhr.status) 
     { 
      case "301": 
       error = "Redirection Error!"; 
       break; 
      case "307": 
       error = "Error, temporary server redirection!"; 
       break; 
      case "400": 
       error = "Bad request!"; 
       break; 
      case "404": 
       error = "Page not found!"; 
       break; 
      case "500": 
       error = "Server is currently unavailable!"; 
       break; 
      default: 
       error ="Unespected error, please try again later."; 
     } 
     if(error){ 
      $('label.sendingStatus').text(error); 
     } 
    } 
}); 
    }; 
+3

您在控制檯中的錯誤:HTTP POST ://redline-interiors.com/php/mainHandler.php 404(找不到) – pax162

回答

2

您正在發佈您的表單數據到http://redline-interiors.com/php/mainHandler.php

這個網址不存在

線路46查看在您http://redline-interiors.com/js/main.js,如果是正確的路徑或找不到這個文件在服務器

url: "php/mainHandler.php" 
+0

在控制檯中,我現在沒有收到404錯誤,因爲它缺失,所以我在第46行添加了所有驗證工作,但電子郵件不發送。我用更多的代碼編輯了這個問題。 –

+0

你在瀏覽器中訪問http://redline-interiors.com/php/mainHandler.php的是什麼?這裏是錯誤404:未找到。 –

+0

剛剛意識到它在js文件夾中http://redline-interiors.com/js/php/mainHandler.php我修復了它給出的錯誤,但它仍然不會發送電子郵件。 –

相關問題