Te envío funciones de correo q encontré por ahi. Ojalá t sirva
Envío de Correo
Enviar correo electrónico con PHP es bastante fácil, y se realiza mediante la función mail().
Esta función se enlaza con el servidor de correo electrónico asociado al servidor web y despacha el mensaje.
La sintáxis básica de la función mail es la siguiente:
mail(destinatario, asunto, mensaje);
donde:
destinatario: email del destinatario
asunto: título o asunto (subject) del mensaje
mensaje: contenido (texto) del mensaje
por ejemplo:
<?php
mail("
[email protected]", "Feliz Cumpleaños", "Espero que lo pases bien junto a tu familia");
?>
Lo normal es usar la función email en combinación con un formulario, como por ejemplo:
<FORM METHOD="GET" ACTION="enviacorreo.php">
<center><h1>Envía tus comentarios</h1></center>
<p>
<b>nombre :</b> <INPUT TYPE="text" NAME="nombre" SIZE="32"
></p>
<p>
<b>e-mail :</b> <INPUT TYPE="text" NAME="email" SIZE="34"></p>
<p>
<b>Tus Comentarios:</b><br>
<TEXTAREA NAME="comentarios" ROWS="10" COLS="50" WRAP="soft"></TEXTAREA></p>
<br>
<INPUT TYPE="submit" VALUE="ENVIAR">
<INPUT TYPE="reset" VALUE="LIMPIAR">
</FORM>
El script "enviacorreo.php" será el encargado de recibir los datos que se introduzcan en el formulario para enviarlos a través de la función mail.
En nuestro caso deberiamos tomar esos datos y construir una cadena de texto con ellos de la siguiente manera:
$mensaje = "Nombre: $nombre\n";
$mensaje .= "Email: $email\n";
$mensaje .= "Nota: $nota\n";
$mensaje .= "Comentarios: $comentarios";
y nuestra función email entonces quedaría:
mail("
[email protected]", "Nuevo mensaje", $mensaje);
La función mail es del tipo booleando, o sea devuelve el valor TRUE (verdadero) si el correo se envió con exito y FALSE (falso) si sucede lo contrario.
De esta manera para asegurarnos que el correo se envía podemos escribir un código como el siguiente:
<?
$para = "
[email protected]";
$sujeto = "Nuevo Correo";
$mensaje = "Nombre: $nombre\n";
$mensaje .= "Email: $email\n";
$mensaje .= "Nota: $nota\n";
$mensaje .= "Comentarios: $comentarios";
if(!mail($para, $sujeto, $mensaje))
{
echo "<h1>No se pudo enviar el Mensaje</h1>";
exit();
}
else
{
<h1>No se pudo enviar el Mensaje</h1>";
}
?>
Otra manera de dar respuesta de envío es hacer una página aparte de respuesta que podríamos llamar por ejemplo respuesta.htm. la cual consistiría simplemente en un mensaje que dijera "Su correo fue enviado con éxito", y que sería invocada mediante una etiqueta refresh. Y así nuestro código quedaría:
<?
$para = "
[email protected]";
$sujeto = "Nuevo Correo";
$mensaje = "Nombre: $nombre\n";
$mensaje .= "Email: $email\n";
$mensaje .= "Nota: $nota\n";
$mensaje .= "Comentarios: $comentarios";
$respuesta = "respuesta.htm";
if(!mail($para, $sujeto, $mensaje))
{
echo "<h1>No se pudo enviar el Mensaje</h1>";
exit();
}
else
{
/* aqui redireccionamos a la pagina de respuesta */
echo "<meta HTTP-EQUIV='refresh' content='1;url=$respuesta'>";
}
?>
Cabeceras Adicionales
Es conveniente al envíar email poner algunos datos adicionales como el correo del remitente, el correo de respuesta automática, etc. Para ello a la función email se le agrega otro parámetro:
mail(destinatario, asunto, mensaje, cabecera_adicional);
Los encabezados más comunes son:
From: Quién es el remitente
To: a quién se envía
Cc: Personas que reccibirán copia
Bcc: Personas que reccibirán copia oculta
Subject: sujeto
Reply-To: a quién responder el correo
X-Mailer: Con qué se envío el mensaje
Disposition-Notification-To: a quién se le envia acuse de recibo
y de esta manera para competar nuestr codígo e incluir algunois encabezados extra escibiremos:
<?
$encabezado = "From: $nombre <$email>";
$encabezado .= "\nReply-To: $email";
$encabezado .= "\nX-Mailer: PHP/" . phpversion();
$para = "
[email protected]";
$sujeto = "Nuevo Correo";
$mensaje = "Nombre: $nombre\n";
$mensaje .= "Email: $email\n";
$mensaje .= "Nota: $nota\n";
$mensaje .= "Comentarios: $comentarios";
$respuesta = "respuesta.htm";
if(!mail($para, $sujeto, $mensaje, $encabezado))
{
echo "<h1>No se pudo enviar el Mensaje</h1>";
exit();
}
else
{
/* aqui redireccionamos a la pagina de respuesta */
echo "<meta HTTP-EQUIV='refresh' content='1;url=$respuesta'>";
}
?>