Configurar sendmail
Hola, veras tengo un problemilla. Tengo un sitio web en un servidor gratuito de hospedaje, que según se tiene php 5 instalado. Quiero hacer un formulario que recoja unos datos y los envíe a una dirección de correo. Para ello he creado dos archivos, uno el html con el siguiente código:
<form action="sendmail.php" accept-charset="UNKNOWN" enctype="application/x-www-form-urlencoded" method="post">
<table border="0" width="25%">
<tbody>
<tr>
<td colspan="2">Envio de correos </td>
</tr>
<tr>
<td width="10%">Para</td>
<td width="90%">
<input id="email" maxlength="2147483647" name="email" size="20" type="text" />
</td>
</tr>
<tr>
<td valign="top">Mensaje</td>
<td>
<textarea id="mensaje" cols="50" rows="5" name="mensaje"></textarea>
</td>
</tr>
<tr>
<td colspan="2">
<input maxlength="2147483647" name="Submit" size="20" type="submit" value="Enviar" />
</td>
</tr>
</tbody>
</table>
</form>
------
Y otro llamado sendmail.php con el codigo:
/* VAMOS A HACERNOS LA VIDA MAS FACIL
* EXTRAEMOS DEL REQUEST LOS DATOS Y LOS PASAMOS AUTOMATICAMENTE A VARIABLES
* DE ESTA MANERA NUESTRAS VARIABLES TENDRAN EL MISMO NOMBRE DE LOS CAMPOS DEL FORMULARIO
*/
/*
* Comentario extraido de http://www.php-es.com/function.mail.html
* (Sólo en Windows) Cuando PHP sostiene comunicación con el servidor SMTP directamente,
* si un punto es encontrado al comienzo de la línea, éste es removido.
* Para contrarestar este comportamiento, reemplace estas ocurrencias con dos puntos
*/
$mensaje=str_replace("\n.", "\n..", $mensaje);
// LE APLICAMOS UN AJUSTE DE LINEA AL TEXTO
$mensaje=wordwrap($mensaje,70);
// ESPECIFICAMOS EN LAS CABECERAS QUE ES EN FORMATO HTML PUENEN REMOVERLAS SI
// EL FORMATO QUE DESEN ENVIAR ES SOLO TEXT0
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// CREAMOS LA CABECERA PARA QUE APARESCA QUIEN LO ENVIO
$headers .= 'From:<[email protected]>' . "\r\n";
//Y LISTO ENVIAMOS EL CORREO ASI DE FACIL :D
mail($email,"Titulo del corrreo",$mensaje,$headers);
Bien, ¿he subido esto a mi servidor y no me funciona... Podrías echarme una mano? Mi correo es [email protected] por si no ves bien el código o necesitas alguna aclaración.
Gracias
<form action="sendmail.php" accept-charset="UNKNOWN" enctype="application/x-www-form-urlencoded" method="post">
<table border="0" width="25%">
<tbody>
<tr>
<td colspan="2">Envio de correos </td>
</tr>
<tr>
<td width="10%">Para</td>
<td width="90%">
<input id="email" maxlength="2147483647" name="email" size="20" type="text" />
</td>
</tr>
<tr>
<td valign="top">Mensaje</td>
<td>
<textarea id="mensaje" cols="50" rows="5" name="mensaje"></textarea>
</td>
</tr>
<tr>
<td colspan="2">
<input maxlength="2147483647" name="Submit" size="20" type="submit" value="Enviar" />
</td>
</tr>
</tbody>
</table>
</form>
------
Y otro llamado sendmail.php con el codigo:
/* VAMOS A HACERNOS LA VIDA MAS FACIL
* EXTRAEMOS DEL REQUEST LOS DATOS Y LOS PASAMOS AUTOMATICAMENTE A VARIABLES
* DE ESTA MANERA NUESTRAS VARIABLES TENDRAN EL MISMO NOMBRE DE LOS CAMPOS DEL FORMULARIO
*/
/*
* Comentario extraido de http://www.php-es.com/function.mail.html
* (Sólo en Windows) Cuando PHP sostiene comunicación con el servidor SMTP directamente,
* si un punto es encontrado al comienzo de la línea, éste es removido.
* Para contrarestar este comportamiento, reemplace estas ocurrencias con dos puntos
*/
$mensaje=str_replace("\n.", "\n..", $mensaje);
// LE APLICAMOS UN AJUSTE DE LINEA AL TEXTO
$mensaje=wordwrap($mensaje,70);
// ESPECIFICAMOS EN LAS CABECERAS QUE ES EN FORMATO HTML PUENEN REMOVERLAS SI
// EL FORMATO QUE DESEN ENVIAR ES SOLO TEXT0
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// CREAMOS LA CABECERA PARA QUE APARESCA QUIEN LO ENVIO
$headers .= 'From:<[email protected]>' . "\r\n";
//Y LISTO ENVIAMOS EL CORREO ASI DE FACIL :D
mail($email,"Titulo del corrreo",$mensaje,$headers);
Bien, ¿he subido esto a mi servidor y no me funciona... Podrías echarme una mano? Mi correo es [email protected] por si no ves bien el código o necesitas alguna aclaración.
Gracias
2 respuestas
Respuesta de apolinux
1
Respuesta de davidcortesb
1