1º Me piden que en el mensaje que llega a la empresa se especifique el nº ip y el país de donde se envía el correo.
2º Me han pedido que se envié un mensaje al correo del usuario diciéndole que en breve le contestaremos a su consulta.
3º Al lado de captcha hay un botón que refresca el captcha, digamos que el usuario refresca tres veces el captcha, y después se equivoca en poner correctamente su correo, saldrá un mensaje que dirá que hay un error en la escritura del correo, pero como anteriormente refresco el captcha tres veces el mensaje se repetirá tres veces también.
El formulario funciona de la siguiente manera: los datos que se escriben en el formulario primeramente son validados por un archivo js "c-validar-formulario.js" (aquí para su descarga http://www.websalvador.com/captcha/c-validar-formulario.js), si esta ok los datos son enviados a un ajax que le permite validar el captcha "captcha/c-funciones-index.js" (aquí para su descarga http://www.websalvador.com/captcha/c-funciones-index.js), si el captcha esta ok entonces estos datos se envian al php que enviará el correo, este es mi código:
Código PHP:
<?
session_start();
include("geoiploc.php");//Este archivo lo descargue que me permite por el ip saber el país
$direccion_ip = $_SERVER['REMOTE_ADDR'];//obtengo el ip
$ipcliente.=" ".$direccion_ip;
$paiscliente=getCountryFromIP($direccion_ip, " NamE ");//determino el país
$correocliente= utf8_decode($_POST['Correo']);//correo del usuario
$email_principal = '[email protected]';
$email_secundarios = $correocliente;
error_reporting(0);
include("class/captchaZDR.php");
$eol="\r\n";
$enter="<br />";
$capt = new captchaZDR;
if(isset($_POST['Submit']) and $capt->check_result()){
$message_send = "En breve daremos respuesta a su consulta".$enter.$enter.$enter.
"Mensaje enviado".$enter."------------------".$enter.$enter.
"Nombre: ".utf8_decode($_POST['Nombre']).$enter.
"E-mail: ".utf8_decode($_POST['Correo']).$enter.
"Telefono: ".utf8_decode($_POST['Telefono']).$enter.
"Ip: ".utf8_decode($ipcliente).$enter.
"País: ".utf8_decode($paiscliente).$enter.
"Url Web: ".utf8_decode($_POST['Pagina']).$enter;
$headers .= 'From: '.utf8_decode($_POST['Nombre']).'<'.utf8_decode($_POST['Correo']).'>'.$eol;
$headers .= "CC: ".$email_secundarios.$eol;
$headers .= "Reply-To: ".$mail."".$eol;
$headers .= "Return-Path: ".$mail."".$eol;
$headers .= "Message-ID: <".time()."-".$para.">".$eol;
$headers .= "X-Mailer: PHP v".phpversion().$eol;
$headers .= "MIME-Version: 1.0".$eol;
$headers .= "Content-type: text/html; charset=iso-8859-1;".$eol.$eol;
if(mail($email_principal, 'SWS Studio Web Salvador' , $message_send, $headers))
echo '<div style="color: white; font-size:12px">Gracias por sus comentarios.</div>';
else
echo '<div style="color: red">Hubo un problema. Intentelo de nuevo.</div>';
}
else{if(isset($_POST['Submit']) and (!$capt->check_result()) )
echo '<div style="color: red">Intente de nuevo. Actualizar</div>';
}
?>
Para lo de enviar un mensaje al usuario, le envio el mensaje con CC, pero hay algo extraño, tal como esta mi código he probado que en mi correo de gmail llega a la bandeja principal y a hotmail a mi bandeja de spam, pero haciendo prueba si coloco una cuenta de hotmail directo así: $email_secundarios = '[email protected]'; Esto hace que el mensaje en hotmail llegue a la bandeja principal y en gmail como spam. Yo deseo que llegue en ambos casos a la bandeja principal, como puedo hacerlo, espero su ayuda aquí.
Ahora quisiera saber si de alguna manera puedo hacer que a la empresa le llegue el numero ip en el mensaje y al usuario no, si no se puede no hay problema.
Por ultimo no se como puedo hacer para que no me salga según el numero de refrescadas del captcha el mensaje de error que valida el cptcha puse los enlaces de descarga par que me den una mano.
Muchas gracias de antemano, gracias.