2014-05-21 29 views
2

我有一個聯繫頁面的css div html表單,並希望發送時通過電子郵件發送表單。作爲PHP新手,我嘗試了不同的例子,可以發送郵件,但無法通過電子郵件獲取表單數據。PHPMailer發送沒有表單數據的郵件

HTML代碼

  <div class="maincontent"> 
    <div class="content"> 
    <article class="topcontent"> 
    <content> 
    <div id="form-main"> 
    <div id="form-div"> 
    <form method="post" enctype="text/plain" action="mail.php" class="form" id="form1"> 
    <p class="name"> 
    <input name="name" type="text" class="validate[required,custom[onlyLetter],length[0,100]] feedback-input" placeholder="Name" id="name" /> 
    </p> 
    <p class="email"> 
    <input name="email" type="text" class="validate[required,custom[email]] feedback-input" id="email" placeholder="Email" /> 
    </p> 
    <p class="text"> 
    <textarea name="text" class="validate[required,length[6,300]] feedback-input" id="comment" placeholder="Comment"></textarea> 
    </p> 
    <div class="submit"> 
    <input type="submit" value="SEND" id="button-blue"/> 
    <div class="ease"></div> 
    </div> 
    </form> 
    </div> 
    </content>  
    </article> 
    </div> 
    </div> 

PHP腳本郵件

<?php 
require("class.phpmailer.php"); 
$formcontent="From: $name \n Message: $text \n Email: $email"; 
$mail = new PHPMailer(); 
$mail->IsSMTP();          // set mailer to use SMTP 
$mail->Host = "localhost;"; // specify main and backup server 
$mail->SMTPAuth = false;  // turn on SMTP authentication 
$mail->Username = "jswan"; // SMTP username 
$mail->Password = "secret"; // SMTP password 
$name = $_POST['name']; // contain name of person 
$email = $_POST['email']; // Email address of sender 
$message = $_POST['text']; // Your message 
$mail->AddAddress('[email protected]', 'recipient email'); 
$mail->From = "[email protected]"; 
$mail->FromName = "Contact Us Information"; 
$mail->Subject = "Website Contact Us Information"; 
$mail->Body = "Name:{$name}\n\nEmail:{email}\n\nComments:{$body}"; 
$mail->WordWrap = 50;         // set word wrap to 50 characters 
$mail->IsHTML(true);         // set email format to HTML 
if(!$mail->Send()) 
{ 
echo "Message could not be sent. <p>"; 
echo "Mailer Error: " . $mail->ErrorInfo; 
exit; 
} 
echo "Message has been sent"; 
?> 

就像我說的,發送郵件,但沒有形式的信息。

感謝

+0

您是否嘗試過使用print_r()函數來查看$ _POST變量是否包含任何內容? – Rimble

+0

刪除enctype =「text/plain」解決了問題。我將如何獲得表格數據的列表格式,例如: – WazSA11

回答

0

從表單標籤取出enctype="text/plain"

使用此功能,您無法獲取發佈的數據。

+0

哇!不知道這 – asprin

+0

謝謝:)我也沒有意識到這一點,並一旦刪除它的工作。 – WazSA11