【问题标题】:Email form not sending电子邮件表格未发送
【发布时间】:2014-05-29 21:14:12
【问题描述】:

我无法提交此电子邮件表单。email.php 文件位于根目录中,如下所示:

<?php
 $val= $_POST['val'];
 $toemail='someone@gmail.com';
 $name = $val['name'];
 $email = $val['email'];
 $msg = $val['msg'];

$subject = 'Message from zachjanice.com';

$headers = "From: zachjanice.com \r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

&nbsp;

$message = "<b>Name :</b>".$name."<br>";
$message .='<b>Email :</b>'.$email."<br>";
$message .='<b>Message :</b>'.$msg;
mail($toemail, $subject, $message, $headers);

echo "Thanks for contacting me!";

?>

我正在使用 validate.js 来验证表单并引导样式。这是 HTML:

<form class="contactform" role="form">
                    <div class="form-group">
                        <label class="control-label">Name</label>
                        <div class="controls">
                            <div class="input-group">
                            <span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
                                <input type="text" class="form-control" name="name" placeholder="Name">
                            </div>
                        </div>
                    </div>

                    <div class="form-group">
                        <label class="control-label">Email</label>
                        <div class="controls">
                            <div class="input-group">
                            <span class="input-group-addon"><i class="glyphicon glyphicon-envelope"></i></span>
                                <input type="text" class="form-control" id="email" name="email" placeholder="Email">
                            </div>
                        </div>  
                    </div>

                    <div class="form-group ">
                        <label class="control-label">Message</label>
                        <div class="controls">
                            <div class="input-group">
                            <span class="input-group-addon"><i class="glyphicon glyphicon-pencil"></i></span>
                                <textarea name="msg" class="form-control " rows="4" cols="78" placeholder="Enter your message here"></textarea>

                            </div>
                        </div>
                    </div>

                    <div class="controls" style="margin-left: 40%;">

                        <button type="submit" id="mybtn" class="btn btn-primary">Send Message</button>

                    </div>
            </form>

我忘了这里是我的 JS:

$(document).ready(function(){
 $.validator.setDefaults({
submitHandler: function(form) {
 $.ajax({
 type: "POST",
 url: "email.php",
 data: { 'val':$(".contactform").serializeJSON() }
 }).done(function(data) {
 alert(data);

 });
 }
});
$(".contactform").validate(
{rules:
{name:"required",
email:{required:true,email:true},
website:{required:false,url:true},
cate:"required",
msg:{required:true, maxlength:300
}},
errorClass:"error",
highlight: function(label) {
 $(label).closest('.form-group').removeClass('has-success').addClass('has-error');
 },

success: function(label) {
 label
 .text('Seems Perfect!').addClass('valid')
 .closest('.form-group').addClass('has-success');
 }
});
});

非常感谢您的帮助。如果可能的话,我正在努力在今晚完成这个网站,但此时我有点慌乱。

【问题讨论】:

  • 您是否在您的网络服务器和 PHP.ini 中配置了电子邮件设置?
  • 那么有什么问题呢?你有错误吗?表单是否正确提交但不发送电子邮件?您需要提供更多信息。
  • 无论如何我都不是 php 专家。我的网站没有 php.ini,我正在使用 angular.js,但无法通过 angular 工作。当我点击提交按钮,没有任何反应,所以我不确定它是否正在尝试提交。我正在关注infotuts.com/bootstrap-3-contact-form的代码我刚刚更改了一些属性。

标签: javascript php twitter-bootstrap email


【解决方案1】:

尝试var_dump(mail($toemail, $subject, $message, $headers));

你会得到一些有用的信息。

还要检查变量 $name, $email$msg 是否已填充,如果没有,请这样做:$name = $_POST['name']

【讨论】:

    猜你喜欢
    • 2014-09-14
    • 2023-03-27
    • 2011-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-11
    相关资源
    最近更新 更多