通过PHP mail()函数发送HTML表单

时间:2014-02-02 14:11:54

标签: php html email sendmail

我需要使用mail()函数发送表单方面的帮助。我真是个初学者!我已经从模板创建了一个网站,我无法发送联系表单...我尝试阅读其他成员的帖子,但我的PHP脚本返回什么都没有!空白页......

这里我留下我的HTML表单和php脚本:

<form method="post" name="contact" action="enviar.php" enctype="text/plain">

                        <label for="author">Nombre:</label> <input type="text" id="author" name="author" class="required input_field" />
                        <div class="cleaner_h10"></div>

                        <label for="email">Email:</label> <input type="text" id="email" name="email" class="validate-email required input_field" />
                        <div class="cleaner_h10"></div>

                        <label for="subject">Sujeto:</label> <input type="text" name="subject" id="subject" class="input_field" />
                        <div class="cleaner_h10"></div>

                        <label for="text">Mensaje:</label> <textarea id="texto" name="texto" rows="0" cols="0" class="required"></textarea>
                        <div class="cleaner_h10"></div>

                        <input type="submit" class="submit_btn float_l" name="submit" id="submit" value="Enviar" />
                        <input type="reset" class="submit_btn float_r" name="reset" id="reset" value="Borrar" />

这是PHP脚本!!我实际上尝试过很多次:(

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

//configuration
$email_to = "myemail@gmail.com";
$email_subject = "Contacto desde zappingshow.tv";

// Validate data
if(!isset($_POST['author']) ||
!isset($_POST['email']) ||
!isset($_POST['subject']) ||
!isset($_POST['texto'])) {

echo "<b>Ocurrió un error y el formulario no ha sido enviado. </b><br />";
echo "Por favor, vuelva atrás y verifique la información ingresada<br />";
echo "<a href="inicio.html">Volver a la página de inicio</a>";
die();
}

$email_message = "Detalles del formulario de contacto:\n\n";
$email_message .= "Nombre: " . $_POST['author'] . "\n";
$email_message .= "Correo: " . $_POST['email'] . "\n";
$email_message .= "Asunto: " . $_POST['subject'] . "\n";
$email_message .= "Mensaje: " . $_POST['texto'] . "\n\n";


// Ahora se envía el e-mail usando la función mail() de PHP
mail($email_to, $email_subject, $email_message);

echo "¡El formulario se ha enviado con éxito!";
}
?>

问题是我使用的是本地服务器,Uniserver Zero XI(我无法在我的电脑上安装easyphp,不知道为什么)

我是这个人的初学者!可能你发现它有点sutpid!但我真的很感谢你的帮助

谢谢^^

1 个答案:

答案 0 :(得分:1)

enctype="text/plain"告诉浏览器以一种格式对数据进行编码,这种格式是出于调试目的而不是机器可读的。当你这样做时,PHP将不会填充$_POST。删除该属性。