image
Valora:   3.96/5 de 71
Inicio » PHP » Manual de PHP » Procesado de Formularios




Envio de emails

PHP nos ofrece la posibilidad de enviar emails de una manera sencilla y fácil, para ello el lenguaje nos proporciona la instrucción mail( )

<?php
   mail(destinatario, tema, texto del mensaje);
?>

En el parámetro destinatario pondremos la dirección de email a donde se enviará el mensaje, en el parámetro tema el tema o subject del mensaje y el parámetro texto del mensaje el cuerpo del mensaje en formato texto plano.

Existe una sintaxis extendida de la instrucción mail( ) que nos permite añadir información adicional a la cabecera del mensaje.

<?php
   mail(destinatario, tema, texto del mensaje, información adicional de cabecera);
?>

En la información de cabecera podremos incluir parámetros adicionales al mensaje como Reply-To:, From:, Content-type:... que nos permiten tener un mayor control sobre el mensaje.

<!-- Manual de PHP de WebEstilo.com -->
<html>
<head>
   <title>Ejemplo de PHP</title>
</head>
<body>
<H1>Ejemplo de envio de email</H1>
Introduzca su direccion de email:
<FORM ACTION="email.phtml" METHOD="GET">
<INPUT TYPE="text" NAME="direccion"><BR><BR>
Formato: <BR>
<INPUT TYPE="radio" NAME="tipo" VALUE="plano" CHECKED> Texto plano<BR>
<INPUT TYPE="radio" NAME="tipo" VALUE="html"> HTML<BR><BR>
<INPUT TYPE="submit" VALUE="Enviar">
</FORM>
</body>
</html>

Ver código fuente


email.phtml
<!-- Manual de PHP de WebEstilo.com -->
<html>
<head>
   <title>Ejemplo de PHP</title>
</head>
<body>
<H1>Ejemplo de envio de email</H1>
<?
   $direccion=$_GET['direccion'];
   $tipo=$_GET['tipo'];
   
   if ($direccion!=""){
   if ($tipo=="plano"){
      // Envio en formato texto plano
      
      mail($direccion,"Ejemplo de envio de email","Ejemplo de envio de email de texto plano\n\nWebEstilo.\nhttp://www.webestilo.com/\n Manuales para desarrolladores web.\n","FROM: Pruebas <webmaster@hotmail.com>\n");
   } else {
      // Envio en formato HTML
      mail($direccion,"Ejemplo de envio de email","<html><head><title>WebEstilo. Manual de PHP</title></head><body>Ejemplo de envio de email de HTML<br><br>WebEstilo.<br>http://www.webestilo.com/<br> <u>Manuales</u> para <b>desarrolladores</b> web.</body></html>","Content-type: text/html\n", "FROM: Pruebas <webmaster@hotmail.com>\n");
   }      
echo "Se ha enviado un email a la direccion: ",$direccion," en formato <b>",$tipo,"</b>.";
}
?>

<br>
</FORM>
</body>
</html>

Ver código fuente







Comparte


Aportaciones de usuarios Añadir una aportación
Gina Lopez (gina_lopez08@hotmail.com)16/09/2004

Aqui expongo otra alternativa para enviar emails utilizando PHPMailer, que es una clase que debe ser previamente instalada en el servidor.

function envia_mail_smtp($dato_para, $dato_asunto, $dato_mensaje, $dato_de, $dato_de_nombre){

$dato_mensaje= str_replace("\n","\n<br>",$dato_mensaje);

require_once('class.phpmailer.php');

$mail = new PHPMailer();

$mail->IsSMTP(); // set mailer to use SMTP
$mail->Host = "localhost"; // specify main and backup server

$mail->From = $dato_de;
if ($dato_de_nombre != ""){
$mail->FromName = $dato_de_nombre;
}
$mail->AddAddress($dato_para);

$mail->WordWrap = 50; // set word wrap to 50 characters

$mail->Subject = $dato_asunto;
$mail->Body = $dato_mensaje;
$mail->AltBody = "This is the body in plain text for non-HTML mail clients";

if(!$mail->Send())
{
echo "Message could not be sent. <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}

}




 
Valid HTML 4.01!
Última modificación:11 de Mayo de 2009. Spain - España.
© 1998-2004 por . Todos los derechos reservados.