douao7937 2012-12-24 15:52
浏览 15

html / php评论框没有发送电子邮件

I have a simple html form that sends a request to a php file which in turn should send an email. The request to the php file works and the confirmation text is displayed but no email is sent.

I'm really stuck and can't work out why the email is not being sent. Is their any problems with my php?

HTML

<form name="htmlform" method="post" action="html_form_send.php">
    <table width="450px">
     </tr>
     <tr>
     <td valign="top">
         <label for="first_name">First Name *</label>
     </td>
     <td valign="top">
       <input  type="text" name="first_name" maxlength="50" size="30">
     </td>
        </tr>

       <tr>
       <td valign="top">
           <label for="last_name">Last Name *</label>
       </td>
       <td valign="top">
          <input  type="text" name="last_name" maxlength="50" size="30">
       </td>
       </tr>
        <tr>
        <td valign="top">
             <label for="email">Email Address *</label>
        </td>
        <td valign="top">
              <input  type="text" name="email" maxlength="80" size="30">
        </td>

         </tr>
         <tr>
         <td valign="top">
             <label for="telephone">Estimated Quantity</label>
         </td>
          <td valign="top">
                <input  type="text" name="telephone" maxlength="30" size="30">
          </td>
          </tr>
         <tr>
          <td valign="top">
                <label for="comments">Product wanted for import *</label>
          </td>
          <td valign="top">
               <textarea  name="comments" maxlength="1000" cols="25" rows="6">  
           </textarea>
          </td>

          </tr>
           <tr>
           <td colspan="2" style="text-align:center">
               <input type="submit" value="Submit"> 
           </td>
           </tr>
    </table>
 </form>

PHP

<?php
if(isset($_POST['email'])) {

    $email_to = "jplustradingltd@gmail.com";

    $email_subject = "J Plus Trading Website Query";


    function died($error) {
        // your error code can go here
        echo "We are very sorry, but there were error(s) found with the form you submitted. ";
        echo "These errors appear below.<br /><br />";
        echo $error."<br /><br />";
        echo "Please go back and fix these errors.<br /><br />";
        die();
    }

    // validation expected data exists
    if(!isset($_POST['first_name']) ||
        !isset($_POST['last_name']) ||
        !isset($_POST['email']) ||
        !isset($_POST['telephone']) ||
        !isset($_POST['comments'])) {
        died('We are sorry, but there appears to be a problem with the form you submitted.');       
    }

    $first_name = $_POST['first_name']; // required
    $last_name = $_POST['last_name']; // required
    $email_from = $_POST['email']; // required
    $telephone = $_POST['telephone']; // not required
    $comments = $_POST['comments']; // required

    $error_message = "";
    $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
  if(!preg_match($email_exp,$email_from)) {
    $error_message .= 'The Email Address you entered does not appear to be valid.<br />';
  }
    $string_exp = "/^[A-Za-z .'-]+$/";
  if(!preg_match($string_exp,$first_name)) {
    $error_message .= 'The First Name you entered does not appear to be valid.<br />';
  }
  if(!preg_match($string_exp,$last_name)) {
    $error_message .= 'The Last Name you entered does not appear to be valid.<br />';
  }
  if(strlen($comments) < 2) {
    $error_message .= 'The Comments you entered do not appear to be valid.<br />';
  }
  if(strlen($error_message) > 0) {
    died($error_message);
  }
    $email_message = "Form details below.

";

    function clean_string($string) {
      $bad = array("content-type","bcc:","to:","cc:","href");
      return str_replace($bad,"",$string);
    }

    $email_message .= "First Name: ".clean_string($first_name)."
";
    $email_message .= "Last Name: ".clean_string($last_name)."
";
    $email_message .= "Email: ".clean_string($email_from)."
";
    $email_message .= "Telephone: ".clean_string($telephone)."
";
    $email_message .= "Comments: ".clean_string($comments)."
";


// create email headers
$headers = 'From: '.$email_from."
".
'Reply-To: '.$email_from."
" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);  
?>

<!-- place your own success html below -->

Thank you for contacting us. We will be in touch with you very soon.

<?php
}
die();
?>
  • 写回答

1条回答 默认 最新

  • dpik71879 2013-05-30 06:40
    关注

    Download the plugin for the upload form from here : http://phpfileuploader.com/

    评论

报告相同问题?

悬赏问题

  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100