Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript php表单发送电子邮件,但方式不正确_Javascript_Php_Html_Css_Email - Fatal编程技术网

Javascript php表单发送电子邮件,但方式不正确

Javascript php表单发送电子邮件,但方式不正确,javascript,php,html,css,email,Javascript,Php,Html,Css,Email,我的网页上的联系人表单最终发送了电子邮件,但没有以正确的格式发送。下面是我收到的电子邮件。出于隐私原因,我模糊了电子邮件和组织 不管怎样,正如你从图片中看到的,联系人的姓名、电子邮件和信息内容都在主题行中,而不是在实际的邮箱中——我在填写表格测试时写下了jibberjabber。是否有一种方法可以格式化我的代码,使他们写下的消息和名称位于消息框而不是主题框中,并且电子邮件由将其电子邮件放入表单的人发送。非常感谢您的帮助,并提前表示感谢 以下是我目前的代码: HTML Java脚本

我的网页上的联系人表单最终发送了电子邮件,但没有以正确的格式发送。下面是我收到的电子邮件。出于隐私原因,我模糊了电子邮件和组织

不管怎样,正如你从图片中看到的,联系人的姓名、电子邮件和信息内容都在主题行中,而不是在实际的邮箱中——我在填写表格测试时写下了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));