我正在尝试将ajax脚本用于我的电子邮件发件人表单,但我无法解决问题。有时,服务器没有发送电子邮件,并且它发生了,电子邮件的正文是干净的......消息没有出现,我不知道为什么,发件人是我的服务器而不是我的测试邮件......有人能帮助我吗?
这是我的代码:
HTML
<div class="span8 module_cont module_feedback_form module_small_padding1">
<form name="feedback_form" method="post" class="feedback_form">
<input type="text" name="field-name" value="Nome" title="Name" class="field-name form_field">
<div class="clear"></div>
<input type="text" name="field-email" value="Email" title="Email" class="field-email form_field">
<div class="clear"></div>
<input type="text" name="field-subject" value="Oggetto" title="Subject" class="field-subject form_field">
<div class="clear"></div>
<textarea name="field-message" cols="45" rows="5" title="Message" class="field-message form_field">Messaggio</textarea>
<div class="clear"></div>
<input type="reset" name="reset" id="reset2" value="Cancella" class="feedback_reset">
<input type="button" name="submit" class="feedback_go" id="submit2" value="Invia Messaggio!">
<div class="ajaxanswer"></div>
</form>
</div>
JS
jQuery('.feedback_go').click(function(){
var par = jQuery(this).parents(".feedback_form");
var name = par.find(".field-name").val();
var email = par.find(".field-email").val();
var message = par.find(".field-message").val();
var subject = par.find(".field-subject").val();
if (email.indexOf('@') < 0) {
email = "mail_error";
}
if (email.indexOf('.') < 0) {
email = "mail_error";
}
jQuery.ajax({
url: "mail.php",
type: "POST",
data: { name: name, email: email, message: message, subject: subject },
success: function(data) {
jQuery('.ajaxanswer').hide().empty().html(data).show("slow");
setTimeout("jQuery('.ajaxanswer').fadeOut('slow')",5000);
}
});
});
PHP
<?php
if($_POST){
$name = $_POST['field-name'];
$email = $_POST['field-email'];
$subject = $_POST['field-subject'];
$message = $_POST['field-message'];
//send email
mail("info@targetmail.com", "Information From Examplesite.com" .$email, $message);
} ?&GT;
谢谢大家!
答案 0 :(得分:0)
首先,我应该警告不要在现实世界中使用这个脚本,因为垃圾邮件发送者会滥用它。
这说我相信问题是你的ajax将字段重命名为名称,电子邮件,消息,主题而没有字段前缀。
答案 1 :(得分:0)
另外html5输入type ='email'来执行给定地址的简单浏览器验证(只需检查符合电子邮件标准和@和。)