Resulta sencillo que un ratón tenga cabeza,
basta con alargar la mano y dejar que las ideas fluyan a través de ella.

Su visita a esta página es a la vez una invitación y una provocación
A continuación les presento una serie de pequeñas muestras de mis capacidades en el campo del diseño gráfico, la fotografía, la programación y el desarrollo web. Todavía quedan muchas cosas que mostrar y demostrar pero valga para ellas este adelanto.

Invitación a mostrar.
Provocación para demostrar.
fecha de hoy: 01(Mon) - December - 2008
email con php

 

funciones de e-mail con php

La función mail() de php, o sendmail() en algunos casos, nos permite enviar un mensaje a una dirección de correo electrónico determinada a través de un simple formulario web.

Esta función devuelve un valor boolean true si ha podido enviar un mensaje, algo que resulta muy útil a la hora de determinar si el envíos e ha realizado con éxito o si por el contrario ha ocurrido cualquier tipo de error que ha impedido la acción. Además mail() utiliza cuatro argumentos, tres de ellos obligatorios y un cuarto opcional. Su sintaxis es la siguiente:

mail (<dirección_destino>, <asunto>, <mensaje>, [<datos_adicionales>]);

<dirección_destino> (campo obligatorio) es una cadena que indica la dirección e-mail a la que se enviará el correo electrónico. Debe ir entre comillas y si se incluyen varias direcciones estas deben ir separadas por comas.
<asunto> (campo obligatorio) es una cadena que nos muestra el asunto (o subject) del mensaje. Debe ir entre comillas.
<mensaje> (campo obligatorio) es una cadena que incluye el texto del mensaje. Debe ir entre comillas. Se puede utilizar el símbolo "\r" para indicar un salto de línea.
<datos_adicionales> (campo opcional) tambien llamadas <cabeceras adicionales>. Puede incluir la prioridad del mensaje, nombres de remitente y destinatario (no direcciones), etc.

Un ejemplo sencillo sería:

<?
mail (
"mi_nombre@dominio.com", "Asunto del mensaje", "El texto del mensaje. \rIncluimos un salto de linea.");
?>

Igualmente podemos distribuir los valores de los campos en variables independientes, algo que resultará muy útil a la hora de trabajar con un formulario.

<?
$direccion = "mi_nombre@dominio.com";
$asunto = "Asunto del mensaje";
$contenido = "El texto del mensaje. \rIncluimos un salto de linea.";
mail ($direccion, $asunto, $contenido);
?>

Analicemos ahora un ejemplo mas complejo como es el uso de un formulario para envío de información a una dirección de correo electrónica.

En primer lugar deberemos diseñar un formulario similar a este y lo guardaremos en una página llamada form.htm (por ejemplo):

nombre:
e-mail:
asunto:
comentario:
 

Su codificación HTML sería:
<form name="form1" method="post" action="email.php">
<b>nombre:</b><input type="text" name="MailFrom" size="25"><br>
<b>e-mail:</b><input type="text" name="eMail" size="25"><br>
<b>asunto:</b><input type="text" name="Subject" size="40"><br>
<b>comentario:</b><textarea name="Body" cols="50" rows="5" style="background-color: rgb(255,255,255); border: 1px solid rgb(0,0,128)" ></textarea><br>
<input type="submit" name="Submit" value="Enviar">
</form>

Este formulario nos devuelve a mail.php, mediante el método POST, las variables nombre, e-mail, asunto, comentario que en php recuperaremos como $MailFrom, $eMail, $Subject, $Body

Veamos el código php que permitiría el envío del correo y que estaría incluido en el fichero email.php al que se le enviarán los datos desde el formulario de form.htm:

código explicación
<?
if(mail($eMail,$Subject,$Body, "From: $MailFrom")){

Mediante la sentencia condicional if() comprobamos que el envío se realiza. Recordemos que mail() devuelve un valor booleano true en caso de que el envío del mensaje se produzca de forma correcta.

 

print("<B><CENTER><FONT COLOR=BLUE>Su correo ha sido enviado con éxito!</FONT></CENTER></B>\n");

En el caso de que el valor devuelto por mail() sea true, la condición se cumplirá y realizará la función de imprimir en pantalla un mensaje indicando que el envío se ha realizado de forma correcta.

 

}else{
print("<B><CENTER><FONT COLOR=RED>Su correo no ha sido enviado debido a un error interno</FONT></CENTER></B>\n");
}
?>
Si el valor que mail() devuelve es false, entonces deberemos implementar la segunda parte de la condición if() que, en este caso, imprimirá en pantalla un mensaje de error.

Este es un ejemplo sencillo de la función mail(). Podriamos establecer controles de validación mediante nuevas sentencias condicionales if() para comprobar que los campos están correctamente cubiertos en el formulario. Imaginemos que no queremos que el correo se envíe sin asunto. Para ello bastaría con crear el código:
if($subject){ ...} else { print("El asunto del mensaje está en blanco\n");}

Si deseas ampliar la información sobre el tema, si tienes alguna duda, o simplemente si tienes otras ideas o sugerencias no dudes en ponerte en contacto conmigo.

Gracias.
Luis Álvarez

 
La cabeza del Ratón


'nuevomilenio' es una idea de Luis Álvarez
'CSI/dilvish666' es propiedad intelectual


CSI/dilvish666 - A Coruña
nuevomilenio@retemail.es