Tengo un formulario que envia datos a un archivo llamado send.php. Dentro de send.php proceso los datos del formulario para guardarlos en base de datos mysql y de ahi enviar el mail a las direcciones comerciales de la empresa donde trabajo. Mi código luce así:
Código :
<?PHP //CONECTO A MI BASE DE DATOS include("conexion.php"); //SELECCIONO MI BASE DE DATOS mysql_select_db("MIBASEDEDATOS",$conexion); //RECIBO Y DETERMINO VARIABLES $fecha=date("Y-m-d"); $hora=date("H:m:s"); $ip_contacto=$_SERVER['REMOTE_ADDR']; $nav_contacto=$navegador; $dispositivo_movil=$isMobile; $robot_contacto=$robot; $isp_contacto=gethostbyaddr($_SERVER['REMOTE_ADDR']); $os_contacto=$so; $nombre_contacto=$_POST['nombre']; $telefono_oficina=$_POST['telefono_of']; $telefono_celular=$_POST['telefono_cel']; $email_contacto=$_POST['email']; $empresa_contacto=$_POST['empresa']; $cargo_contacto=$_POST['cargo']; $comentarios_contacto=$_POST['comentarios']; //SELECCIONO COLUMNAS DE LA TABLA $sql="INSERT INTO candidatos ( fecha, hora, ip_contacto, nav_contacto, dispositivo_movil, robot_contacto, isp_contacto, os_contacto, nombre_contacto, telefono_oficina, telefono_celular, email_contacto, empresa_contacto, cargo_contacto, comentarios_contacto, )"; //ESCRIBO VALORES EN LA TABLA $sql.="VALUES( '".$fecha."', '".$hora."', '".$ip_contacto."', '".$nav_contacto."', '".$dispositivo_movil."', '".$robot_contacto."', '".$isp_contacto."', '".$os_contacto."', '".$nombre_contacto."', '".$telefono_oficina."', '".$telefono_celular."', '".$email_contacto."', '".$empresa_contacto."', '".$cargo_contacto."', '".$comentarios_contacto."' )"; //VERIFICO LA INFO EN LA BASE DE DATOS mysql_query($sql, $conexion) or die('Error: datos no guardados');; $status="info_ok"; //CIERRO LA CONEXION mysql_close(); //MAIL EN VERSION PARA VENTAS Y MARKETING $destino_comercial="DIRECCIONES DE CORREO DE VENTAS Y MKTG"; $header = "From: Contacto desde Sitio Web:".$email_contacto."\nReply-To:".$email_contacto."\n"; $header .= "X-Mailer: PHP" . phpversion() . " \r\n"; $header .= "Mime-Version: 1.0 \r\n"; $header .= 'Content-type: text/plain;charset=utf-8' . "\r\n"; $msg.= "---------------------------------------------------------------- \n"; $msg.= " Contacto desde la web \n"; $msg.= "---------------------------------------------------------------- \n"; $msg.= "Nombre: ......................... ".$nombre."\n"; $msg.= "Empresa: ......................... ".$empresa."\n";; $msg.= "Cargo: ............................ ".$cargo."\n";; $msg.= "Teléfono de Oficina: ........ ".$telefono_oficina."\n"; $msg.= "Teléfono celular: ............. ".$telefono_celular."\n"; $msg.= "E-mail: ............................ ".$email."\n"; $msg.= "Fecha: ............................ ".$fecha."\n"; $msg.= "Hora: .............................. ".$hora."\n"; $msg.= "---------------------------------------------------------------- \n"; $msg.= " Mensaje \n"; $msg.= "----------------------------------------------------------------- \n"; $msg.= "$comentarios.\n\n"; mail($destino_comercial, $asunto, $msg, $header);
Hasta aquí todo funciona correcto y no tengo problema. Mi duda viene al enviar un correo con información adicional a sistemas, porque me pregunto si php no tomará las variables $header y $msg, enviándome un mail con valores sobrepuestos o erróneos... El código que tengo continúa así:
Código :
//MAIL VERSION PARA SISTEMAS $destino_sistemas="DIRECCION DE EMAIL DE SISTEMAS"; $header = "From: Contacto desde Sitio Web:".$email_contacto."\nReply-To:".$email_contacto."\n"; $header .= "X-Mailer: PHP" . phpversion() . " \r\n"; $header .= "Mime-Version: 1.0 \r\n"; $header .= 'Content-type: text/plain;charset=utf-8' . "\r\n"; $msg.= "---------------------------------------------------------------- \n"; $msg.= " Contacto desde la web \n"; $msg.= "---------------------------------------------------------------- \n"; $msg.= "Nombre: ........................ ".$nombre."\n"; $msg.= "Empresa: ........................ ".$empresa."\n";; $msg.= "Cargo: ........................... ".$cargo."\n";; $msg.= "Teléfono de Oficina: ....... ".$telefono_oficina."\n"; $msg.= "Teléfono celular: ............ ".$telefono_celular."\n"; $msg.= "E-mail: ........................... ".$email."\n"; $msg.= "Fecha: ........................... ".$fecha."\n"; $msg.= "Hora: ............................. ".$hora."\n"; $msg.= "Dirección IP: ................... ".$ip_contacto."\n"; $msg.= "Navegador: ..................... ".$nav_contacto."\n";; $msg.= "Dispositivo móvil: ............. ".$dispositivo_movil."\n";; $msg.= "Robot buscador: ............. ".$robot_contacto."\n"; $msg.= "Proveedor de internet: .... ".$isp_contacto."\n"; $msg.= "Sistema operativo: ........... ".$os_contacto."\n"; $msg.= "--------------------------------------------------------------- \n"; $msg.= " Mensaje \n"; $msg.= "---------------------------------------------------------------- \n"; $msg.= "$comentarios.\n\n"; mail($destino_sistemas, $asunto, $msg, $header); //REDIRIJO A MI "THANK-YOU" PAGE echo header('Location: ty.html'); ?>
Como pueden ver, el mail para sistemas contiene más información que a la gente del departamento comercial no le interesa ni sirve.
Les pido una ayudadita revisando el código e indicándome si puedo tener fallas. Acepto propuestas sobre alguna función y/o para darle mejor apariencia a los mensajes mediante HTML, pues estoy usando formato de texto plano
Muchas gracias!