誰かが私のコードを見直して、電子メールが送信されない理由を教えてもらえますか?フォームのデータをPHPのメールスクリプトに投稿するjQuery Ajaxメソッドを記述しようとしています。ここでjQuery Ajaxメソッドを書こうとすると、フォームのデータをPHPのメールスクリプトに投稿します
は、お問い合わせフォームページの本文です:ここで
<body>
<?php require 'Includes/Header.php' ?>
<div id="container1">
<h1>Contact Us</h1>
<form id="form" onSubmit="return validate(this);" method="post" action="customerMsg2.php" >
<table>
<tr>
<td>First Name: </td>
<td><input type="text" name="FirstName" id="FirstName" autofocus></td>
</tr>
<tr>
<td>Last Name: </td>
<td><input type="text" name="LastName" id="LastName"></td>
</tr>
<tr>
<td>Email: </td>
<td><input type="text" name="Email" id="Email"></td>
</tr>
<tr>
<td>Leave a message: </td>
<td><textarea name="Message" id="Message"></textarea></td>
</tr>
<tr>
<td><input type="submit" id="sendEmail" value="Send Email"></td>
</tr>
<input type="hidden" name="submitted" value="true">
</table>
</form>
<div id="ajax-message"></div>
</div>
<div id="container2">
<ul id="slideshow">
<li id="services"><h2>Make a Donation!</h2><br>
Our pets need lots of love and attention while they wait for new homes. Why not give today?<br><input type="button" value="Donate"></li>
<li id="services"><h2>Check Out Our Podcast!</h2><br>
Tune in weekly as Josh gives his unique perspective on pet-ownership and dutifully regulated capitalism.</li>
</ul>
</div>
<script src="slideshow.js"></script>
<script src="ajaxsubmit.js"></script>
<?php require 'Includes/Footer.php' ?>
</body>
</html>
はjQueryの、AJAXコード(ajaxsubmit.js)です:
$(document).ready(function() {
var $form = $('#form');
var ajaxmessage = $('#ajax-message');
$form.submit(function (event) {
event.preventDefault();
var serializedData = $form.serialize();
$.ajax({
type: 'POST',
url: $form.attr('action'),
data: serializedData
})
.done(function (response) {
$(ajaxmessage).removeClass('error');
$(ajaxmessage).addClass('success');
$(ajaxmessage).text(response);
$('#FirstName').val('');
$('#LastName').val('');
$('#Email').val('');
$('#Message').val('');
})
.fail(function (data) {
$(ajaxmessage).removeClass('success');
$(ajaxmessage).addClass('error');
if (data.responseText !== '') {
$(ajaxmessage).text(data.responseText);
} else {
$(ajaxmessage).text('Oops! An error occured and your message could not be sent.');
}
});
});
});
、ここでは、PHPスクリプトです:
<?php
ini_set('SMTP', 'smtp.gmail.com');
$to = '(i would put my email address here)';
$firstname = strip_tags(trim($_POST["FirstName"]));
$lastname = strip_tags(trim($_POST["LastName"]));
$message = trim($_POST["Message"]);
$from = trim($_POST['Email']);
$subject = "New contact from $firstname $lastname";
if(mail($to, $subject, $message, $from))
{
echo "Message sent.";
}
else
{
echo "Message not sent.";
}
?>
アイデア?
私に同封してください、私はまだ私の認証に取り組んでおり、これは非常に新しいです。あなたは変更するように言っています:$ from = trim($ _ POST ['Email']); to:$ header = "From:"。 $から。 "\ r \ n"; メール機能に$ headerが含まれていますか? – Josh
いいえ、 から変更した場合の "From:" に$ヘッダー=(メール($ $件名、$メッセージ、から$)へ)。 $から。 "\ r \ n"; if(mail($ to、$件名、$メッセージ、$ header)) ini_set( 'SMTP'、 'smtp.gmail.com'); smtp.gmail.com上で動作するようになるまで、ホスティングプロバイダによって設定されたsmtpサーバーを介して電子メールが送信されるようにします。 – user3190433