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.
<?php echo "<!--593062959897964784-->"; ?>
<?php echo "<!--38201656327638835-->"; ?>
<!-- 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>
email.phtml
<?php echo "<!--667605142142430745-->"; ?><?php echo "<!--542165492014991511-->"; ?><!-- 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 <[email protected]>\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 <[email protected]>\n");
}
echo "Se ha enviado un email a la direccion: ",$direccion," en formato <b>",$tipo,"</b>.";
}
?>
<br>
</FORM>
</body>
</html>
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;
}
}