良い午後、WordpressでAJAXの電子メールを受信するにはどうすればいいですか
私は非常に不満な問題があります。私は現在、AJAX関数を使用してWordpressサイトの連絡フォームから電子メールを送信しようとしています。フィールドがいっぱいになっていないときだけメールを送信しますが、フォームフィールド内でデータを送信しようとすると、電子メールは送信されません。
また、何らかの理由でWordpress環境の外部から実行しているときに動作するようですが、Wordpressテンプレートファイルに含めた時点から問題が発生し始めます。
以下は私のコードです。これはJavascriptで
:
$(document).ready(function(){
$('#emailform').submit(function(){
window.open('','',"width=500,height=150").document.write("Thank you for contacting us, we will reply you shortly. Thank you!");
// getting all the stuff from the form
var form = $(this),
formData = form.serialize(),
formUrl = form.attr('action'),
formMethod = form.attr('method'),
emailresponse = $('#emailresponse');
// loading stuff
emailresponse.fadeOut(200, function(){
$(this).text("Message sent")
.fadeIn(200)
});
// sending stuff to the server
$.ajax({
url: formUrl,
type: formMethod,
data: formData,
success:function(data) {
//stuff to do when the ajax call is successful and complete
var responseData = $.parseJSON(data),
klass = '';
emailresponse.fadeOut(200, function(){
$(this).text(responseData.message)
.fadeIn(200);
});
}
})
return false;
})
})
、これが問題になっているPHP
if (isset($_GET['action'])) {
if($_GET['action'] == 'email') {
$name = $_POST['name'];
$email = mysql_real_escape_string($_POST['email']);
$message = $_POST['message'];
$m1 = "Name of customer: " . $name . "\n";
$m2 = "Customer's Email: " . $email . "\n";
$m3 = "Message: " . $message;
$emailmessage = $m1 . $m2 . $m3;
mail('[email protected]', 'Message from LUNASKYMODA.CO.UK contact page', $emailmessage);
$data = array(
'status' => $status,
'message' => $message
);
echo json_encode($data);
exit;
}
}
Webページで、現時点では任意のエラーやスパム取り扱いがないという事実を許しhttp://lunaskymoda.co.uk/contact-us/
Ps「メッセージが送信されました」とは必ずしも送信されるわけではありません。
これはjQueryです - あなたは
タグでjQueryライブラリを呼び出していますか?コンソールではどのようなエラーが表示されますか? – themerlinproject