Javascript php表单发送电子邮件,但方式不正确
我的网页上的联系人表单最终发送了电子邮件,但没有以正确的格式发送。下面是我收到的电子邮件。出于隐私原因,我模糊了电子邮件和组织 不管怎样,正如你从图片中看到的,联系人的姓名、电子邮件和信息内容都在主题行中,而不是在实际的邮箱中——我在填写表格测试时写下了jibberjabber。是否有一种方法可以格式化我的代码,使他们写下的消息和名称位于消息框而不是主题框中,并且电子邮件由将其电子邮件放入表单的人发送。非常感谢您的帮助,并提前表示感谢 以下是我目前的代码: HTML Java脚本Javascript php表单发送电子邮件,但方式不正确,javascript,php,html,css,email,Javascript,Php,Html,Css,Email,我的网页上的联系人表单最终发送了电子邮件,但没有以正确的格式发送。下面是我收到的电子邮件。出于隐私原因,我模糊了电子邮件和组织 不管怎样,正如你从图片中看到的,联系人的姓名、电子邮件和信息内容都在主题行中,而不是在实际的邮箱中——我在填写表格测试时写下了jibberjabber。是否有一种方法可以格式化我的代码,使他们写下的消息和名称位于消息框而不是主题框中,并且电子邮件由将其电子邮件放入表单的人发送。非常感谢您的帮助,并提前表示感谢 以下是我目前的代码: HTML Java脚本
(function ($) {
var messages = {
'progress': '<p><i class="fa fa-spinner fa-spin"></i> Sending email...</p>',
'success': '<p class="text-success">Thank you for contacting us. We will contact you as early as possible.</p>',
'error': '<p class="text-danger">Aw snap! Something didn\'t go right!</p>'
};
var $form = $('form#main-contact-form');
var formStatus = $('<div class="form_status"/>');
$form.submit(function (e) {
e.preventDefault();
$.ajax({
type: 'POST',
url: $form.attr('action'),
data: $form.serialize(),
dataType: 'json',
beforeSend: function () {
formStatus.html(messages.progress).fadeIn().prependTo($form);
},
success: function (data) {
if (data.success === true) {
formStatus.html(messages.success);
} else {
formStatus.html(messages.error);
}
formStatus.fadeIn().delay(3000).fadeOut();
},
error: function () {
formStatus.html(messages.error).fadeIn().delay(3000).fadeOut();
}
});
})
})(jQuery);
(函数($){
变量消息={
“进度”:“发送电子邮件…”,
“成功”:“感谢您与我们联系。我们将尽快与您联系。
”,
“错误”:“Aw snap!有点不对劲!
”
};
var$form=$('form#main contact form');
var formStatus=$('');
$form.submit(功能(e){
e、 预防默认值();
$.ajax({
键入:“POST”,
url:$form.attr('action'),
数据:$form.serialize(),
数据类型:“json”,
beforeSend:函数(){
html(messages.progress).fadeIn().prependTo($form);
},
成功:功能(数据){
如果(data.success==true){
html(messages.success);
}否则{
html(messages.error);
}
formStatus.fadeIn().delay(3000.fadeOut();
},
错误:函数(){
html(messages.error).fadeIn().delay(3000).fadeOut();
}
});
})
})(jQuery);
PHP
缺少主题参数,请阅读 而且,
“\r\n”
与“\r\n”
我将你的建议添加到我的代码中,而这一次,我甚至没有收到电子邮件。另外,我编辑了我的问题以显示你的代码。我又检查了一遍,过了一会儿,我想网站可能需要一段时间才能运行,这次我收到了一封电子邮件。如果你看看我的问题,我更新了图片。我仍然得到同样的结果,但至少信息的内容是某种形式的。尽管如此,该消息仍在标题中。也显示更新的PHP代码。我建议你尝试一些更简单的方法,只要在某个地方有一个页面,它除了发送电子邮件之外,什么都不做,并且确保你遵循文档
#contact {
background-image: url(../images/contact-bg.jpg);
padding-bottom: 0;
height: auto;
background-attachment: fixed;
}
#contact .heading {
padding-top: 95px;
}
#main-contact-form {
text-align: center;
}
.contact-info {
text-align: left;
}
form {
align: center;
margin: 0 auto;
}
.form-control {
background-color: transparent;
border-color: rgba(255, 255, 255, .8);
height: 50px;
border-radius: 1;
box-shadow: none;
}
textarea.form-control {
min-height: 180px;
resize: none;
}
.form-group {
margin-bottom: 30px;
}
ul.address {
margin-top: 30px;
list-style: none;
padding: 0;
margin: 0;
}
.contact-info ul li {
margin-bottom: 8px;
}
.contact-info ul li a {
color: #fff;
}
.btn-submit {
display: block;
padding: 12px;
width: 100%;
color: #fff;
border: 0;
margin-top: 40px;
}
(function ($) {
var messages = {
'progress': '<p><i class="fa fa-spinner fa-spin"></i> Sending email...</p>',
'success': '<p class="text-success">Thank you for contacting us. We will contact you as early as possible.</p>',
'error': '<p class="text-danger">Aw snap! Something didn\'t go right!</p>'
};
var $form = $('form#main-contact-form');
var formStatus = $('<div class="form_status"/>');
$form.submit(function (e) {
e.preventDefault();
$.ajax({
type: 'POST',
url: $form.attr('action'),
data: $form.serialize(),
dataType: 'json',
beforeSend: function () {
formStatus.html(messages.progress).fadeIn().prependTo($form);
},
success: function (data) {
if (data.success === true) {
formStatus.html(messages.success);
} else {
formStatus.html(messages.error);
}
formStatus.fadeIn().delay(3000).fadeOut();
},
error: function () {
formStatus.html(messages.error).fadeIn().delay(3000).fadeOut();
}
});
})
})(jQuery);
<?php
$to = 'changedfor@privacyreasons.xyz';
$name = !empty($_POST['name']) ? filter_var(trim($_POST['name']), FILTER_SANITIZE_STRING) : '';
$from = !empty($_POST['email']) ? filter_var(trim($_POST['email']), FILTER_SANITIZE_EMAIL) : $to;
$message = !empty($_POST['message']) ? filter_var(trim($_POST['message']), FILTER_SANITIZE_STRING) : '';
$body = "Name: {$name}\r\nEmail: {$from}\r\nMessage: {$message}";
$body = wordwrap($body, 70, "\r\n");
$headers = [
'MIME-Version: 1.0',
'Content-type: text/plain; charset=iso-8859-1',
"From: $name <$from>",
"Reply-To: <$from>",
'X-Mailer: PHP/' .phpversion()
];
$subject = 'some subject';
$success = mail($to, $body, implode("\r\n", $headers));
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest') {
die(json_encode(['success' => $success]));
}
echo $success ? 'Sent Successfully.' : 'An error occurred';
ini_set('display_errors', 1); error_reporting(E_ALL);
?>
$subject = 'some subject';
$success = mail($to, $subject, $body, implode("\r\n", $headers));