Powered By Blogger

jueves, 8 de noviembre de 2012

Enviar mail usando PHP y AJAX

Hola en esta ocasión veremos un pequeño ejemplo de como enviar un mail usando PHPy Ajax juntos.

Primero empezaremos creando nuestro formulario para enviar nuestro Email

formulariomail.html
<!DOCTYPE html> <html> <head> <title>Formulario de Envio de Mail</title> <script src="funcionAjax.js" language="javascript"></script> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <!-- id=miformulario que utilizaremos en el archivofuncionAjax.js para referirnos a el --> <form name="formulario" id="miformulario" method="post" action="enviarMail.php"> <table> <tr> <td colspan="2"style="text-align:center"><p>Enviar Mail de Prueba Php Usuando Ajax</p></td> </tr> <tr> <td><p>Para quien:</p></td> <td><input type="text" name="para"id="para"/></td> </tr> <tr> <td><p>Remitente:</p></td> <td><input type="text" name="remitente"id="remitente" value="mimail@ejemplomail.com"/></td> </tr> <tr> <td><p>Cuerpo del Mensaje</p></td> <td><textarea name="mensaje" col="10" rows="10"id="mensaje"> </textarea></td> </tr> <tr> <td colspan="2"style="text-align:center"> <input type="submit" name="enviar" value="EnviarMail"/> </td> </tr> </table> </form> <div id="resultados"></div> </body> </html>
































Luego creamos nuestro archivo Ajax que sera el encargado de hacer el puente con  el servidor


funcionAjax.js
addEvent(window,'load',inicializarEventos,false); function inicializarEventos() { var ref=document.getElementById('miformulario'); addEvent(ref,'submit',enviarDatosServidor,false); } function enviarDatosServidor(e) {
if (window.event) window.event.returnValue=false; else if (e) e.preventDefault(); enviarFormularioServidor(); } function retornarDatos() { var cadena=''; var para=document.getElementById('para').value; var mensaje=document.getElementById('mensaje').value; var remitente=document.getElementById('remitente').value; cadena='para='+encodeURIComponent(para)+'&mensaje='+encodeURIComponent(mensaje) +'&remitente='+encodeURIComponent(remitente); return cadena; } var conexionServidor; function enviarFormularioServidor() { conexionServidor=crearXMLHttpRequest(); conexionServidor.onreadystatechange = procesarEventos; conexionServidor.open('POST','enviarMail.php', true); conexionServidor.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); conexionServidor.send(retornarDatos()); } function procesarEventos() { var resultados = document.getElementById("resultados"); if(conexionServidor.readyState == 4) { resultados.innerHTML =conexionServidor.responseText; } else { resultados.innerHTML = 'Enviando...'; } } //*************************************** //Funciones comunes a todos los problemas //*************************************** function addEvent(elemento,nomevento,funcion,captura) { if (elemento.attachEvent) { elemento.attachEvent('on'+nomevento,funcion); return true; } else if (elemento.addEventListener) { elemento.addEventListener(nomevento,funcion,captura); return true; } else return false; } function crearXMLHttpRequest() { var xmlHttp=null; if (window.ActiveXObject) xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); else if (window.XMLHttpRequest) xmlHttp = new XMLHttpRequest(); return xmlHttp; }







































































Luego creamos nuestro archivo controlador Php que sera el encargado de Enviar el Mail
enviarMail.php

<?php // recibimos las variables enviadas al servidor $para = $_POST["para"]; $remitente = $_POST["remitente"]; $cuerpoMensaje = $_POST["mensaje"]; echo $para; // subject echo $titulo = 'Este es Un mensaje de Prueba de la Funcion Mail'; // message echo $mensaje = " <html> <head> <title>Este es Un mensaje de Prueba de la Funcion Mail</title> </head> <body> <p>$cuerpoMensaje</p> </body> </html> "; // Para enviar un correo HTML mail, la cabecera Content-type debe fijarse $cabeceras = 'MIME-Version: 1.0' . "\r\n"; $cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; // Cabeceras adicionales $cabeceras .= "To: $para" . "\r\n"; $cabeceras .= "From: $remitente" . "\r\n"; //$cabeceras .= 'Cc: copiaoculta@ejemplocorreo.com' . "\r\n";//Copia //$cabeceras .= 'Bcc: birthdaycheck@ejemplocorreo.com' . "\r\n";//Copia oculta // Funcion Mail echo mail($para, $titulo, $mensaje, $cabeceras); ?>
Listo probamos y nuestro mensaje sera enviado a nuestro remitente

No hay comentarios:

Publicar un comentario

Este es el espacio dedicado a los lectores. Por favor, siéntete libre para compartir tus opiniones relacionadas con los contenidos de este Blog.
Es de vital importancia tu comentario Gracias

Powered By Blogger