我已尝试将我的联系表单与 XAMPP 一起使用,我已将 .ini 文件等正确配置到 GMAIL 以进行测试。你能看出我哪里出错了吗?
我什至尝试过 WAMP,但仍然不起作用。
我按照这个人的建议更改了 xwamp 文件: How to configure XAMPP to send mail from localhost?
HTML
<form method="post" action="contact-form.php" name="contactform" id="contactform">
<fieldset>
<input name="name" type="text" id="name" placeholder="Name"/>
<input name="email" type="text" id="email" placeholder="Email"/>
<input name="subject" type="text" id="subject" placeholder="Subject"/>
</fieldset>
<fieldset>
<textarea name="comments" cols="40" rows="3" id="comments" placeholder="Message"></textarea>
</fieldset>
<input type="submit" class="submit" id="submit" value="Send Message" />
</form>
JS
$('#contactform').submit(function(){
var action = $(this).attr('action');
$("#message").slideUp(250,function() {
$('#message').hide();
$('#submit')
.after('<img src="img/assets/cbp-loading.gif" class="loader" />')
.attr('disabled','disabled');
$.post(action, {
name: $('#name').val(),
email: $('#email').val(),
subject: $('#subject').val(),
comments: $('#comments').val(),
},
function(data){
document.getElementById('message').innerHTML = data;
$('#message').slideDown(250);
$('#contactform img.loader').fadeOut('slow',function(){$(this).remove()});
$('#submit').removeAttr('disabled');
if(data.match('success') != null) $('#contactform').slideUp(850, 'easeInOutExpo');
}
);
});
return false;
PHP
<?php
if (isset($_POST["submit"])) {
$name = $_POST['name'];
$email = $_POST['email'];
$subject = 'Message from Contact Demo ';
$message = $_POST['message'];
$from = 'Demo Contact Form';
$to = 'myemail@gmail.com';
$body = "From: $name\n E-Mail: $email\n Message:\n $message";
mail('myemail@gmail.com', $name, $email, $subject, $message);
}
?>
Sendmail代码(我已经明显删除了电子邮件和密码)
[sendmail]
smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username=MYEMAIL@gmail.com
auth_password=MY EMAIL PASSWORD
force_sender=MYEMAIL@gmail.com
最佳答案
最被低估的一点是不以管理员身份启动 XAMPP。此外,我还缺少 smtp 和 co 的一些配置:
$smtp = Mail::factory('smtp', array(
'host' => 'ssl://smtp.gmail.com',
'port' => '465',
'auth' => true,
'username' => 'EMAIL',
'password' => 'PASSWORD'
));
这些是允许发送到您的电子邮件地址所必需的。否则任何人都可能向您的电子邮件地址发送垃圾邮件。
真诚的liqSTAR
关于javascript - 为什么我的联系表不起作用? loading.gif 卡住了,没有任何反应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41243677/