gpt4 book ai didi

php - 我收到来自 php 和 js 的空白邮件

转载 作者:行者123 更新时间:2023-11-28 02:52:37 25 4
gpt4 key购买 nike

请帮我解码真正的问题是什么。问题是,尽管我对这段代码进行了所有调整和研究,但我一直收到一封空白电子邮件。下面是我的 html、javascript (ajax) 和 php 代码。

HTML 代码:名为 contact.html 的文件

<form id="main-contact-form" class="contact-form" name="contact-form" method="post" action="sendemail.php">
<div class="col-sm-5 col-sm-offset-1">
<div class="form-group">
<label>Name *</label>
<input type="text" name="name" class="form-control" required="required">
</div>
<div class="form-group">
<label>Email *</label>
<input type="email" name="email" class="form-control" required="required">
</div>
<div class="form-group">
<label>Phone</label>
<input type="number" class="form-control">
</div>
<div class="form-group">
<label>Company Name</label>
<input type="text" class="form-control">
</div>
</div>
<div class="col-sm-5">
<div class="form-group">
<label>Subject *</label>
<input type="text" name="subject" class="form-control" required="required">
</div>
<div class="form-group">
<label>Message *</label>
<textarea name="message" id="message" required="required" class="form-control" rows="8"></textarea>
</div>
<div class="form-group">
<button type="submit" name="submit" class="btn btn-primary btn-lg" required="required">Submit Message</button>
</div>
</div>
</form>

AJAX代码:名为main.js的文件

// Contact form
var form = $('#main-contact-form');
form.submit(function(event){
event.preventDefault();
var form_status = $('<div class="form_status"></div>');
$.ajax({
url: $(this).attr('action'),

beforeSend: function(){
form.prepend( form_status.html('<p><i class="fa fa-spinner fa-spin"></i> Email is sending...</p>').fadeIn() );
}
}).done(function(data){
form_status.html('<p class="text-success">' + data.message + '</p>').delay(3000).fadeOut();
});
});

PHP 代码:名为 sendemail.php 的文件

<?php
header('Content-type: application/json');
$status = array(
'type'=>'success',
'message'=>'Thank you for contact us. As early as possible we will contact you '
);

$name = @trim(stripslashes($_POST['name']));
$email = @trim(stripslashes($_POST['email']));
$subject = @trim(stripslashes($_POST['subject']));
$message = @trim(stripslashes($_POST['message']));

$email_from = $email;
$email_to = 'email@email.com';//replace with your email

$body = 'Name: ' . $name . "\n\n" . 'Email: ' . $email . "\n\n" . 'Subject: ' . $subject . "\n\n" . 'Message: ' . $message;

$success = @mail($email_to, $subject, $body, 'From: <'.$email_from.'>');

echo json_encode($status);
die;
?>

有了这个,我不断收到如下所示的空白电子邮件

Name:

Email: Blank

Phone: Blank

Subject: Blank

Message: Blank

最佳答案

您是否尝试过在脚本末尾不使用 die()?我认为您可能会过快地杀死您的页面。

也尝试像这样创建一个捕获:

if (!mail(...)) 
{
// Reschedule for later try or panic appropriately!
}

此外,您在 mail() 之前使用 @ 来抑制警告;尝试删除@。

编辑:另外,尝试删除修剪。

关于php - 我收到来自 php 和 js 的空白邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38769155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com