¿Cómo realizo el envío de E-mails con PHP en Windows?

En nuestros servidores Windows, la funcion mail() de PHP, se encuentra habilitada para el envio de mails.

Dicha funcion, contiene 4 parámetros que es necesario utilizarlos para que los correos se envien sin inconveniente.

A continuación detallamos los mismos:

mail ( $PARA , $ASUNTO , $MENSAJE , $CABECERAS)

Parametros

  • $PARA: Cuenta de correo a la que llegara el mail enviado desde el formulario
  • $ASUNTO: Asunto del mail
  • $MENSAJE: Cuerpo del mail
  • $CABECERAS: Este campo se utiliza para añadir cabeceras extras, como por ejemplo el From, el cual es necesario en nuestros sevidores Windows

Si bien en muchos servidores no es necesario utilizar el parámetro $CABECERAS, en nuestros servidores de plataforma Windows es OBLIGATORIO utilizar la cabecera From, ya que de lo contrario el mail no será enviado.

Además, en este parámetro debe especificarse una cuenta de correo de tu dominio, es decir, creada desde tu panel de control Ferozo.

A continuación podrás ver un ejemplo de su utilización con los archivos necesario para su funcionamiento:

En un archivo html, utiliza el siguiente código:

<html>
<head>
<title>Formulario de envio</title>
</head>
<body bgColor="#afafaf">
<h2>Formulario de contacto PHP</h2>
<form method="post" action="send.php">
<table>
<tr>
<td>Nombre</td>
<td><input name="nombre"></td>
</tr>
<tr>
<td>E-mail</td>
<td><input name="email"></td>
</tr>
<tr>
<td>Comentario</td>
<td><textarea rows="8"cols="50" name="comentario"></textarea></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Enviar"></td>
</tr>
</table>
</form>
</body>
</html>
<html>

En un archivo PHP denominado send.php, utiliza el siguiente código:

<?php
if(isset($_POST["nombre"]) && isset($_POST["email"]) && isset($_POST["comentario"]) ){
$to = "CUENTA_DESTINO@DOMINIO.COM";
$subject = "Mensaje Enviado";
$contenido .= "Nombre: ".$_POST["nombre"]."\n";
$contenido .= "Email: ".$_POST["email"]."\n\n";
$contenido .= "Comentario: ".$_POST["comentario"]."\n\n";
$header = "From: CUENTA_DE_TU_DOMINIO@TU_DOMINIO.COM\nReply-To:".$_POST["email"]."\n";
$header .= "Mime-Version: 1.0\n";
$header .= "Content-Type: text/plain";
if(mail($to, $subject, $contenido ,$header)){
echo "Mail Enviado.";
}
}
?>

Importante: En el script php deberás cambiar:

  1. CUENTA_DESTINO@DOMINIO.COM por una cuenta de correo que desee
  2. CUENTA_DE_TU_DOMINIO@TU_DOMINIO.COM por una cuenta de correo creada desde tu panel de control Ferozo