我收到来自php和js的空白电子邮件 [英] I am getting blank email from php and js
问题描述
HTML代码:名为contact.html的文件
< form id =main-contact-formclass =contact-formname =contact-formmethod =postaction =sendemail.php>
< div class =col-sm-5 col-sm-offset-1>
< div class =form-group>
< label> Name *< / label>
< input type =textname =nameclass =form-controlrequired =required>
< / div>
< div class =form-group>
< label>电子邮件*< / label>
< input type =emailname =emailclass =form-controlrequired =required>
< / div>
< div class =form-group>
< label> Phone< / label>
< input type =numberclass =form-control>
< / div>
< div class =form-group>
< label>公司名称< / label>
< input type =textclass =form-control>
< / div>
< / div>
< div class =col-sm-5>
< div class =form-group>
< label> Subject *< / label>
< input type =textname =subjectclass =form-controlrequired =required>
< / div>
< div class =form-group>
< label>消息*< / label>
< textarea name =messageid =messagerequired =requiredclass =form-controlrows =8>< / textarea>
< / div>
< div class =form-group>
< button type =submitname =submitclass =btn btn-primary btn-lgrequired =required> Submit Message< / button>
< / div>
< / div>
< / form>
AJAX代码:名为main.js的文件
//联系表单
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>电子邮件正在发送...< / 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'=>'感谢您联系我们,尽早与我联系b $ b);
$ 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'; //替换为您的电子邮件
$ body ='Name:'。 $名称。 \\\
\\\
。 '电邮:'。 $电子邮件。 \\\
\\\
。 '学科: ' 。 $主题。 \\\
\\\
。 '信息: ' 。 $消息;
$ success = @mail($ email_to,$ subject,$ body,'From:<'。$ email_from。'>');
echo json_encode($ status);
死
?>
与此同时我继续收到一封空白的电子邮件,如下所示
名称:
电子邮件:空白
电话:空白
主题:空白
消息:空白
对所有你们(@Mateusz Klimentowicz,@ Mat副总裁,Jose Manuel AbarcaRodríguez,@ Vladimir Nu)感到非常感谢。我实际上按照你的指示,最后修正了JS文件和PHP文件,如下所示:
JS文件:
//联系表单
var form = $('#main-contact-form');
form.submit(function(event){
event.preventDefault();
//序列化表单数据
var formData = $(form).serialize();
var form_status = $('< div class =form_status>< / div>');
$ .ajax({
type:'POST',
url:$(this).attr('action'),
data:formData,
beforeSend:function(){
form.prepend(form_status.html('< p> < i class =fa fa-spinner fa-spin>< / i>电子邮件正在发送...< / p>')fadeIn());
}
} ).done(function(data){
form_status.html('< p class =text-success>'+ data.message +'< / p>')。delay(3000)。 fadeOut();
});
});
PHP代码如下所示:
<?php
$ status = array(
'type'=>'success',
'message'= >感谢您与我们联系。尽快与我们联系!
);
$ fail = array(
'type'=>'fail',
'message'=>'请重试,您的邮件无法发送!
);
$ 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@mail.com'; //替换为您的电子邮件
$ body ='Name:'。 $名称。 \\\
\\\
。 '电邮:'。 $电子邮件。 \\\
\\\
。 '学科: ' 。 $主题。 \\\
\\\
。 '信息: ' 。 $消息;
$ success = @mail($ email_to,$ subject,$ body,'From:<'。$ email_from。'>');
header('Content-type:application / json');
if($ success){
echo json_encode($ status);
}
else {
echo json_encode($ fail);
}
?>
在使用此代码之后,我最终没有收到空白页面的电子邮件。电子邮件现在已经被它的内容。感谢一堆。
Please help me with decoding what the real issue is. The issue is that I keep getting a blank email, despite all my tweaking and research on this code. Below are my html, javascript (ajax) and php code.
HTML code: file named 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 code:file named 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 code: file named 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;
?>
with this I keep on getting a blank email as depicted below
Name:
Email: Blank
Phone: Blank
Subject: Blank
Message: Blank
A BIG THANKS to ALL of you guys(@Mateusz Klimentowicz,@Mat VP,@Jose Manuel Abarca Rodríguez ,@ Vladimir Nu). I actually followed your instructions and ended up correcting both the JS file and the PHP file as shown below:
JS file:
// Contact form
var form = $('#main-contact-form');
form.submit(function(event){
event.preventDefault();
// Serialize the form data.
var formData = $(form).serialize();
var form_status = $('<div class="form_status"></div>');
$.ajax({
type: 'POST',
url: $(this).attr('action'),
data: formData,
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();
});
});
While the PHP code became this below:
<?php
$status = array(
'type'=>'success',
'message'=>'Thank you for contacting us. As soon as possible we will contact you!'
);
$fail = array(
'type'=>'fail',
'message'=>'Please try again. Your mail could not be delivered!'
);
$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@mail.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.'>');
header('Content-type: application/json');
if($success){
echo json_encode($status);
}
else{
echo json_encode($fail);
}
?>
And after using this code as stated below, i end up not getting any blank page email. Email is now delievered with it's content. Thanks a bunch.
这篇关于我收到来自php和js的空白电子邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!