好吧,所以我对PHP很新,所以我想我会问你们我做错了什么。我目前正在开发一个网站,您可以通过此电子邮件表单联系该公司。
但是,由于某种原因,电子邮件将不会发送。我已经尝试了多封电子邮件(并且使用了一些代码),但它无法正常工作。
这是mail.php脚本:
<?php
if ($_POST) {
$name = $_POST['name'];
$email = $_POST['email'];
$text = $_POST['text'];
//send email
mail("myemail@gmail.com", "email enquiry", $text, "From:" . $email);
}
?>
以下是我的script.js中表单的摘录:
//Contact Form Code:
$(function (e) {
$(".form-button").click(function (e) {
var $error = 0;
var name = $("#form-name").val();
var email = $("#form-email").val();
var text = $("#form-msg").val();
var security = $("#form-security").val();
if(name == "" || email=="" || text=="" ){
$('#details-error-wrap').fadeIn(1000);
$error = 1;
}else{
$('#details-error-wrap').fadeOut(1000);
}
if(security != 8 ){
$('#security-error-wrap').fadeIn(1000);
$error = 1;
}else{
$('#security-error-wrap').fadeOut(1000);
}
if( /(.+)@(.+){2,}\.(.+){2,}/.test(email) ){
} else {
$('#details-error-wrap').fadeIn(1000);
$error = 1;
}
var dataString = 'name=' + name + '&email=' + email + '&text=' + text;
if($error == 0){
$.ajax({
type: "POST",
url: "mail.php",
data: dataString,
success: function () {
$('#details-error-wrap').fadeOut(1000);
$('#security-error-wrap').fadeOut(1000);
$('#form-sent').fadeIn(1000);
}
});
return false;
}
e.preventDefault();
});
});
});
最后,这是HTML:
<div class="seven columns">
<div id="form-sent" class="hide">
<div class="alert-box success">Message sent: Thankyou for your enquiry</div>
</div>
<form id="contact-form">
<label>Name *</label>
<input id="form-name" type="text"/>
<label>Email *</label>
<input id="form-email" type="text" />
<label>Message *</label>
<textarea id="form-msg"></textarea>
<div id="details-error-wrap" class="hide">
<div class="alert-box alert error-box">Error: Please ensure all fields are filled in correctly</div>
</div>
<label>Security Question *</label>
<input id="form-security" type="text" placeholder="7 + 1 = ?" />
<div id="security-error-wrap" class="hide">
<div class="alert-box alert error-box">Error: Security question is incorrect</div>
</div>
<input type="submit" value="Submit" class="form-button right" />
</form>
</div>
</div>
我发布了所有三个相关的东西。本网站的部分内容来自我正在使用的模板,因此如果您认为问题出在另一个文件中,请告诉我。
在此先感谢,我希望有人能够帮助我:)。
答案 0 :(得分:0)
首先,它可能会在您的垃圾邮件文件夹中结束。
您是否使用个人电子邮件地址发送电子邮件?比如me@gmail.com?
如果是这样,那显然不会起作用,您需要设置 SMTP ,以便电子邮件通过防火墙并实际进入收件箱。
可能希望更好地格式化脚本,同时使用IF语句查看电子邮件是否实际由PHP发送:
$to = 'myemail@gmail.com'; //Change this to the email you're using
$subject = 'Website Contact Form';
$headers = "From: " . "Me!! <myemail@gmail.com>" . "\r\n"; //This too
$content = "Hey!";
if (mail($to, $subject, $content, $headers)) {
echo "Success! Email was sent - Yay!";
} else {
echo "Error sending Email! booo!";
}