PHPMailer发送没有表单数据的邮件

标签 php html css forms email

<分区>

我有一个用于联系页面的 css div html 表单,希望在发送时通过电子邮件发送该表单。作为 PHP 的新手,我尝试了不同的示例,并且可以发送邮件但无法在电子邮件中获取表单数据。

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('warren@.com', 'recipient email');
$mail->From = "noreply@.com";
$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";
?>

就像我说的,邮件已发送但没有表单信息。

谢谢

最佳答案

从表单标签中取出enctype="text/plain"

使用它您无法获取发布的数据。

关于PHPMailer发送没有表单数据的邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23777313/

相关文章:

javascript/react 动态高度文本区域(停在最大值处)

html - 如何排除第n个选择器?

html - BODY 标签作为根级包含 block

php - 如何在交叉表中格式化或显示

php - PHP 上的 VisualBasic Convert.FromBase64String 等效项

php - 将HTML表格导出为PDF

python html解析在带有javascript的文档中失败

html - CSS3 动画不适用于非 webkit 浏览器

jquery - 箱子换号? (jQuery)

php - 将 HTML 表单输入转换为 php 可以理解的日期