私は 1 つの ajax + php スクリプトを使用して、html Web サイトからメールを送信しています。私は他の Web サイト (別のサーバー) でこのスクリプトを使用しており、正常に動作していますが、現在構築中の新しい Web サイトで動作させることができません。ajax 関数を呼び出すフォームは次のとおりです。
<form id="form" enctype="multipart/form-data" method="post">
<table id="tablecontact">
<tr><th>Name:</th><td><input id="name" type="text" class="input" name="Name" value="" size="30" /></td></tr>
<tr><th>E-mail:</th><td><input id="email" class="input" name="E-mail" value="" size="30" /></td></tr>
<tr><th>Subject:</th><td><input id="subject" class="input" name="Subject" value="" size="30" /></td></tr>
<tr><th>Message:</th><td><textarea id="message" class="input" name="Massege" cols="40" rows="5" style="max-width:700px"></textarea></td></tr>
<tr><td colspan="2"><center><input id="submit" type="submit" class="submit" value="Submit" onclick="submitForm();" /> <input type="button" class="reset" value="Reset" /></center></td></tr>
</table>
</form>
ここにajaxスクリプトがあります:
function submitForm() {
if (window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
}
xmlhttp.onreadystatechange= function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById('response').innerHTML=xmlhttp.responseText;
}
}
var name=document.getElementById('name').value;
var email=document.getElementById('email').value;
var subject=document.getElementById('subject').value;
var message=document.getElementById('message').value;
var parameters='name='+name+'&email='+email+'&subject='+subject+'&message='+message;
xmlhttp.open('POST','mailsend.php',true);
xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xmlhttp.send(parameters);};
ここにmailsend.phpがあります:
<?php
$pass = validEmail($_POST['email']);
$subject = $_POST['subject']." : Contact";
$email = $_POST['email'] ;
$name=$_POST['name'];
$message = $_POST['message'] ;
$headers = "From: $name Email: $email";
if ($pass && strlen($subject)>=5 && strlen($message)>=5 && strlen($name)>=5)
{
$to='MYMAIL';
$sent = mail($to, $subject, $message, $headers) ;
if ($sent){
echo('<div id="success"><img src="ok.png" style="margin-top:3px;" /> Your message was sent.</div>');
$hppmessage='Thanks for contacting.';
$hppheaders='Auto Replay from: MYMAIL';
$hppsubject='Contact message received.';
$sent1= mail($email,$hppsubject,$hppmessage,$hppheaders,'-f MYMAIL');
} else
echo ('<div id="error"><img src="error.png" style="margin-top:3px;" /> Error! Please try again.') ;
} else
echo ('<div id="error"><img src="error.png" style="margin-top:3px;" /> Error! Please try again.') ;
?>
よろしくお願いします。