martes, 1 de octubre de 2013

Enviar Email con phpmailer a través de Mercury Mail(XAMPP) o servidor externo con soporte


A continuación veremos como enviar un email con phpmailer a través de un servidor de correos como Mercury(XAMPP) o también válido para un servidor externo con soporte SMTP y POP3, para hacerlo a nivel localhost es necesario previamente configurar mercury, para ello puedes seguir los pasos que se describen en el siguiente vídeo ... Configurar Mercury, de lo contrario si se trata de un servidor externo, éste debe de proveerte de un servidor de correos e indicarlo en la propiedad "Host" de la clase PHPMAILER ...

$mail->Host = "localhost"; #Servidor SMTP, si es un servidor externo pon el de tu proveedor

la mayoría de servidores de pago lo tienen configurado como 1and1, hostinger, etc ...

Si no tienes PHPMAILER, lo puedes descargar directamente desde aquí, DESCARGAR PHPMAILER

Con el siguiente ejemplo podrás enviar un email en formato HTML y con un archivo adjunto ...


<?php
$resultado = "";
if (isset($_POST["nombre"]))
{
$nombre = $_POST["nombre"];
$email = $_POST["email"];
$mensaje = $_POST["mensaje"];
$adjunto = $_FILES["adjunto"];

require("class.phpmailer.php");

$mail = new PHPMailer();

$mail->Host = "localhost"; #Servidor SMTP, si es un servidor externo pon el de tu proveedor

$mail->FromName = "Administrador"; //Nombre del remitente

$mail->Subject = "Buenos días"; //Asunto del email

$mail->AddAddress($email, $nombre); //Destinatario

$mail->MsgHTML($mensaje); //Mensaje en HTML

//Si el archivo es de tamaño mayor que 0
if ($adjunto["size"] > 0)
{
$mail->AddAttachment($adjunto["tmp_name"], $adjunto["name"]);//adjuntar un archivo al mensaje
}

if($mail->Send())
{
$resultado = "Enhorabuena el mensaje ha sido enviado con éxito a $email";
}

else
{
$resultado = "Lo siento ha habido un error al enviar el mensaje a $email";
}
}
?>

<h3>Enviar Email con phpmailer a través de Mercury Mail(XAMPP) o servidor externo con soporte</h3>

<form method="post" action="<?php $_SERVER["PHP_SELF"]; ?>" enctype="multipart/form-data">
<table border="0">
<tr>
<td>Archivo:</td>
<td><input type="file" name="adjunto"></td>
</tr>
<tr>
<td>Nombre del destinatario:</td>
<td><input type="text" name="nombre"></td>
</tr>
<tr>
<td>Email a:</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td>Mensaje:</td>
<td><textarea cols="50" rows="15" name="mensaje"></textarea></td>
<tr>
<tr>
<td></td><td><input type="submit" value="Enviar"></td>
</tr>
</table>
<b><?php echo $resultado; ?></b>
</form>