无法通过电子邮件中的php从html表单发送数据

时间:2017-02-04 04:43:30

标签: php html forms post

我正在尝试使用php在电子邮件中发送html表单数据,但它每次都会给我错误。 每次填写表单并单击提交时,它会显示在php中定义的错误消息  我无法弄清楚问题是什么,因为我对php不太了解。 任何帮助都会有很大的帮助。

这是我的表单代码

<form class=""  name="mpsform" action="contact.php" method="post">
<div class="form-group">
    <label class="col-sm-2">Name:</label>
    <div class="col-sm-10 form-group">
        <input class="form-control" type="text" required="" name="name" placeholder="Name">
    </div>
</div>
<div class="form-group">
    <label class="col-sm-2">Mobile:</label>
    <div class="col-sm-10 form-group">
        <input class="form-control input-bg bfh-phone" id="mobile" name="mobile" data-fv-phone="true"  type="tel" pattern="[0-9]{10,10}" maxlength="10"  autocomplete="off" data-fv-numeric="true" data-fv-phone-country="IN" data-fv-notempty-message="This Field cannot be left blank."   data-fv-numeric-message="Please enter valid phone numbers"  placeholder="Mobile No" required="required">          
    </div>
</div>
<div class="form-group">
    <label class="col-sm-2">Email:</label>
    <div class="col-sm-10 form-group">
        <input class="form-control" type="email" required="" name="email" placeholder="Email">
    </div>
</div>
<div class="form-group">
    <label class="col-sm-2">City:</label>
    <div class="col-sm-10 form-group">
        <input class="form-control" type="text" required="" name="city" placeholder="City">
    </div>
</div>
<div class="form-group">
    <label class="col-sm-2">Course:</label>
    <div class="col-sm-10 form-group">
        <select class="form-control" name="course" >
            <option selected="">Select </option>
            <option>option1</option>
            <option>option2</option>
        </select>
    </div>
</div>
<div class="form-group text-center">
    <button class="btn btn-success" type="submit" name="submit"><b>Contact Me</b></button>
</div>

这是我的php脚本

<?php
$field_name =  $_POST['name'];
$field_mobile =  $_POST['mobile'];
$field_email =  $_POST['email'];
$field_city = $_POST['city'];
$field_course = $_POST['course'];


$mail_to = 'example@gmail.com';
$subject = 'Message from a site visitor '.$field_name;


$body_message = 'From: '.$field_name."\n";
$body_message .= 'Mobile: '.$field_mobile."\n";
$body_message .= 'Email: '.$field_email."\n";
$body_message .= 'City: '.$field_city."\n";
$body_message .= 'Course: '.$field_course."\n";


$headers = 'From: '.$field_email."\r\n";
$headers .= 'Reply-To: '.$field_email."\r\n";
$mail_status = mail($mail_to, $subject, $body_message, $headers);

if ($mail_status) { ?>
<script language="javascript" type="text/javascript">
   alert('Thank You . We will contact you shortly');
   window.location = 'index.html';
   </script>
   <?php
}
else { ?>
<script language="javascript" type="text/javascript">
   alert('Message Sending Failed . PLEASE SEND an email to example@gmail.com');
   window.location = 'contact-us.html';
   </script>
   <?php
   }
   ?>

1 个答案:

答案 0 :(得分:-1)

您正在从用户帐户发送邮件,并且任何用户的电子邮件帐户服务都不允许在未经身份验证的情况下发送邮件,您可以使用域提供的自定义电子邮件。

另一方面,您可以使用phpmailer或swiftmailer lib通过您的Google帐户发送电子邮件。