duandou2763 2014-10-08 20:52
浏览 108

邮件功能什么都不发送

The following codes are responsible of sending mails using Mail() function. The problem that I'm facing is when an email is received, there is nothing (in other words no data is shown in the email). I tested all the functions and they are working properly.

<style>
#ajax_form {width:410px;font-family:verdana,arial;font-size:12px}
#ajax_form td{font-family:verdana,arial;font-size:12px}
#ajax_form_header {font-family:verdana,arial;font-size:1.3em;font-weight:bold;text-align:center}
#returned_value{font-family:verdana,arial;text-align:center;font-size:12px;color:#000000}
#go {border:1px solid #CCCCCC;background:#FFF}
</style>
<script type="text/javascript" src="cform.js"></script>

<div id="ajax_form">
<form>
<div id="ajax_form_header">Contact Us Form</div>
<br />
<table width="350" border="0" align="center" cellpadding="4" cellspacing="0">
  <tr> 
    <td><label>Your Name:</label></td>
    <td><input type="text" id="name" style="width:100%" /></td>
  </tr>
  <tr> 
    <td><label>Your Email:</label></td>
    <td><input type="text" id="email" style="width:100%" /></td>
  </tr>
  <tr> 
    <td><label>Your Subject:</label></td>
    <td><input type="text" id="subject" style="width:100%" /></td>
  </tr>
  <tr> 
    <td colspan="2">
        <label>Your Message:</label><br /><br />
        <textarea name="body" style="width:100%;height:160px" id="body"></textarea>
    </td>
  </tr>
  <tr align="center"> 
    <td colspan="2"><input type="button" value="Submit" id="submit" onClick="return check_values();"></td>
  </tr>
</table>
</form>
  <br />
  <div align="center"><!-- leave this link please --><a href="http://www.freecontactform.com/ajax_form.php">Ajax Contact Form</a></div><br /><br />
    <div id="confirmation" style="display:none" align="center"></div>
</div>

cform.js code:

var http = createRequestObject();
var areal = Math.random() + "";
var real = areal.substring(2,6);

function createRequestObject() {
    var xmlhttp;
    try { xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); }
  catch(e) {
    try { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}
    catch(f) { xmlhttp=null; }
  }
  if(!xmlhttp&&typeof XMLHttpRequest!="undefined") {
    xmlhttp=new XMLHttpRequest();
  }
    return  xmlhttp;
}

function sendRequest() {
    var rnd = Math.random();
    var name = escape(document.getElementById("name").value);
    var email = escape(document.getElementById("email").value);
    var subject = escape(document.getElementById("subject").value);
    var body = escape(document.getElementById("body").value);

    try{
    http.open('POST',  'pform.php');
    http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    http.onreadystatechange = handleResponse;
        http.send('name='+name+'&email='+email+'&subject='+subject+'&body='+body+'&rnd='+rnd);
    }
    catch(e){}
    finally{}
}

function check_values() {
    var valid = '';

    var name = document.getElementById("name").value;
    var email = document.getElementById("email").value;
    var subject = document.getElementById("subject").value;
    var body = document.getElementById("body").value;
    if(trim(name) == "" ||
        trim(email) == "" ||
        trim(subject) == "" ||
        trim(body) == "") {
            alert("Please complete all fields");
    } else {
        if(isEmail(email)) {
            document.getElementById("submit").disabled=true;
            document.getElementById("submit").value='Please Wait..';
            sendRequest();
        } else {
            alert("Email appears to be invalid
Please check and try again");
            document.getElementById("email").focus();
            document.getElementById("email").select();
        }
    }
}

function handleResponse() {
    try{
    if((http.readyState == 4)&&(http.status == 200)){
        var response = http.responseText;
      document.getElementById("confirmation").innerHTML = response;
      document.getElementById("confirmation").style.display ="";
        }
  }
    catch(e){}
    finally{}
}

function isUndefined(a) {
   return typeof a == 'undefined';
}

function trim(a) {
    return a.replace(/^s*(S*(s+S+)*)s*$/, "$1");
}

function isEmail(a) {
   return (a.indexOf(".") > 0) && (a.indexOf("@") > 0);
}

pform.php file:

include 'cform_config.php';

if(!isset($rnd) || !isset($name) || !isset($email) || !isset($subject) || !isset($body)) {
    echo $error_message;
    die();
}

    $email_from = $email;
    $email_subject = "Contact Form: ".stripslashes($subject);
    $email_message = "Please find below a message submitted by '".stripslashes($name);
    $email_message .="' on ".date("d/m/Y")." at ".date("H:i")."

";
    $email_message .= stripslashes($body);

    $headers = 'From: '.$email_from."
" .
   'Reply-To: '.$email_from."
" .
   'X-Mailer: PHP/' . phpversion();

    mail($email_it_to, $email_subject, $email_message, $headers);

    echo "<b>$confirmation</b>";
    die();

cform_config.php file:

  $page_title = "Contact Us Form";
  $email_it_to = "your_own_email_address@some_domain.com";
  $error_message = "Please complete the form first";
  $confirmation = "Thank you, your message has been successfully sent.";

I tracked the check_values() function following with sendRequest() function and I found nothing wrong

  • 写回答

2条回答 默认 最新

  • duanan1228 2014-10-08 20:53
    关注

    $email_message .= stripslashes($body); should be
    $email_message .= stripslashes($email_message );. $body doesn't exist.

    (I don't know why you are using stripslashes() here or anywhere in your code. It should not be necessary).

    评论

报告相同问题?

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测