2013-05-06 55 views
0

我有一個主頁面,調用我的PHP頁面來生成報告,然後在同一主頁上,我有一個發送電子郵件按鈕,它會調用我的郵件PHP頁面,但它不發送生成的報告到指定的電子郵件地址,我如何使此發送電子郵件按鈕的工作?PHP發送電子郵件按鈕不工作

我想在這裏發生的事情是,我生成的報告後感到不適發送至電子保持相同的表格式...

這裏是我的郵件PHP:

<?php 
//for getting the variable in the URL 
$WirelessRemaining= $_GET['WirelessRemaining']; 
$WirelineRemaining = $_GET['WirelineRemaining']; 
$dates = $_POST['dates']; 
$output= $_POST['$output']; 

require 'include/DB_Open.php'; 

$to = "[email protected]"; 
$subject = "Test, $dates"; 
$body = "$output"; 


$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-Type: text/html; charset=ISO-8859-1' . "\r\n"; 
$headers .= "From: aa <[email protected]@ccc.com>\r\n"; 

if (mail($to, $subject, $body)) { 
    echo("<p>Message successfully sent!</p>"); 
    } else { 
    echo("<p>Message delivery failed...</p>"); 
    } 

include 'include/DB_Close.php'; 
?> 

這裏的代碼,調用報告生成器和郵件PHP:

$(document).ready(function(){ 
    $("#RetrieveList").on('click',function() { 
     var xid = $('#XiD').val(); 
     var date = $('#Date').val(); 
     $.post('retrieve_test.php',{xid:xid, date:date}, function(data){ 
     $("#results").html(data); 
     }); 
     return false; 
    }); 

$("#Report").on('click',function() { 
    var dates = $('#Date').val(); 
     $.post('report_sample.php',{dates:dates}, function(data){ 
     $("#results").html(data); 
     }); 
     return false; 
    }); 

$("#Email").on('click',function() { 
    var date1 = $('#Date').val(); 
     $.post('mail.php',{date1:date1, output:output}, function(data){ 
     $("#results").html(data); 
     }); 
     return false; 
    }); 
    }); 
+0

服務器日誌文件中是否有任何錯誤? – feeela 2013-05-06 08:06:23

+0

你忘了把'$ headers'加到你的'mail()'中。休息似乎沒問題。 – 2013-05-06 08:10:45

+0

我所得到的是這些消息在我的主頁: 注意:未定義的索引:WirelessRemaining在第3行的C:\ xampp \ htdocs \ xxx \ mail.php中 注意:未定義索引:WirelineRemaining in C:\ xampp \ htdocs \ xxx \ mail.php第4行 注意:未定義的索引:第5行的C:\ xampp \ htdocs \ xxx \ mail.php中的日期 注意:未定義的索引:$輸出在C:\ xampp \ htdocs \ xxx \ mail中第6行的.php 消息已成功發送! – 2013-05-06 08:11:06

回答

0
$dates = $_POST['dates']; 
$output= $_POST['$output']; 

應該

$dates = $_POST['date1']; 
$output= $_POST['output']; 
+0

我已經改變它,但仍然沒有收到電子郵件... – 2013-05-06 08:32:58

+0

什麼是$ WirelessRemaining = $ _GET ['WirelessRemaining']; $ WirelineRemaining = $ _GET ['WirelineRemaining'];'你在哪裏發佈了它們? – Amir 2013-05-06 09:00:59

+0

他們是一個文本字段,當我打電話給報告生成器頁面時,它是頁面的一部分...因此,在那裏我放入剩餘的票據,那麼它將成爲'$ body =「$ output」的一部分;''這將是通過電子郵件發送 – 2013-05-06 09:15:57