Foros del Web » Creando para Internet » Diseño web »

Envío automático de un email cuando alguien visita mi web

Estas en el tema de Envío automático de un email cuando alguien visita mi web en el foro de Diseño web en Foros del Web. Hola a todos. Busca ayuda para que alguien me de el código necesario para lo que me gustaría implementar en mi web. Tengo hosting propio ...
  #1 (permalink)  
Antiguo 01/06/2011, 03:56
 
Fecha de Ingreso: junio-2011
Mensajes: 4
Antigüedad: 12 años, 9 meses
Puntos: 0
Envío automático de un email cuando alguien visita mi web

Hola a todos. Busca ayuda para que alguien me de el código necesario para lo que me gustaría implementar en mi web. Tengo hosting propio en un ordenador con ip fija corriendo iis y también servidor web. Me gustaría que en cada visita a mi pagina web esta, automáticamente, me mande un correo electrónico. Pido ayuda para que alguien me lo de bastante masticado, ya que mis conocimientos son bastante limitados. Pongo un ejemplo de un código que he encontrado y que me mandaría también datos del visitante. Agradecería si alguien me explicara como usarlo u otro código mejor u otra manera de hacer. Agradezco mucho vuestra ayuda y gracias por todo de antemano.


<?php
    // Predefinimos las variables a usar
    $nombre        = 'patatan';
    $destinatario    = "[email protected]";
    $asunto        = "Visita nueva el ".date("D, d  M Y - h:i:s a ");
    $remote_ip    = (isset($_SERVER['REMOTE_ADDR'])) ? $_SERVER['REMOTE_ADDR'] : "(Sin IP)";
    $remote_isp    = gethostbyaddr($remote_ip) ;
    $agent        = $_SERVER['HTTP_USER_AGENT'];
    $referer        = (isset($_SERVER['HTTP_REFERER'])) ? strtolower($_SERVER['HTTP_REFERER']) : "Sin referido";
    $headers        = 'From: '.$nombre.'<'.$destin atario.'>'."\r\n";
    // Armamos el cuerpo del mensaje
    $msg = "-------------------------------------------- \n";
    $msg.= "         Informacion de visitante             \n";
    $msg.= "-------------------------------------------- \n";
    $msg.= "PAGINA:     ".$_SERVER['PHP_SELF']."\n";
    $msg.= "HORA:       ".date("h:i:s a ")."\n ";
    $msg.= "FECHA:      ".date("D, d M Y")."\n ";
    $msg.= "NAVEGADOR:  ".$agent."\n";
    $msg.= "IP/ISP:     ".$remote_ip." (".$remote_isp.")"."\n";
    $msg.= "REFERIDO:   ".$referer."\n";
    $msg.= "------------------------------------------ \n\n";
    // Finalmente enviamos el correo
    mail($destinatario, $asunto, $msg, $header s)
?>
  #2 (permalink)  
Antiguo 01/06/2011, 04:59
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Envío automático de un email cuando alguien visita mi web

ese código funcionaría perfectamente en servidores windows si has instalado y configurado correctamente el SMTP.

no pretendas que todo es copiar y pegar, hay cosas que necesitan mucho más que codificar: configurar y para eso hay que investigar
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 02/06/2011, 03:11
 
Fecha de Ingreso: junio-2011
Mensajes: 4
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Envío automático de un email cuando alguien visita mi web

Hola, gracias por la respuesta. Precisamente eso es lo que pregunto, alguien que me explique y me ayude a implementar esto. Así que agradecería muchísimo esa ayuda, entender el funcionamiento y terminar de configurar mi servidor correctamente para que esto funcione. Un saludo
  #4 (permalink)  
Antiguo 04/06/2011, 17:39
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Envío automático de un email cuando alguien visita mi web

en internet puedes conseguir muchos tutoriales para configurar e instalar un SMTP en windows, como el mercury que trae Xammp por defecto, aunque tienes la opción de usar SMTP externos con clases como swiftmailer o phpmailer con lo que te ahorrarías la instalación del SMTP en windows, podrías incluso usar tu misma cuenta de gmail, pero debes de tener en cuenta para ambas formas SMTP local o externo que debes abrir el puerto 25 en el caso de que tengas firewall, o el firewall de un router local.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 05/06/2011, 15:03
Avatar de historiasdemaria  
Fecha de Ingreso: septiembre-2010
Ubicación: www
Mensajes: 433
Antigüedad: 13 años, 6 meses
Puntos: 54
Respuesta: Envío automático de un email cuando alguien visita mi web

Bien, en el archivo php.ini tienes que indicarle cual es tu servidor SMTP, sino me equivoco es la linea
SMTP = localhost
y ahi donde pone localhost pones tu servidor smtp, por ejemplo: smtp.orange.es, o, smtp.loquesea.com

si dejas el codigo como esta el correo se enviaria solo al cargar la pagina, simplemente ponlo al principio de toda otra cosa

a ver ;)
  #6 (permalink)  
Antiguo 07/06/2011, 10:38
 
Fecha de Ingreso: junio-2011
Mensajes: 4
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Envío automático de un email cuando alguien visita mi web

Hola, gracias por las respuestas. Tengo los puertos abiertos y bien configurados. Puedo contaros que uso mailenable, recibo y envio correo sin problemas desde mi red o desde internet fuera de mi red. He configurado como me dices, Historiasdemaria, pero sigo sin recibir nada. Mi servidor smtp requiera identificacion por nombre y contraseña, eso no debiera estar en el codigo que pongo en la web? no se, ya me decis, porque sigue sin funcionar
  #7 (permalink)  
Antiguo 08/06/2011, 03:34
Avatar de historiasdemaria  
Fecha de Ingreso: septiembre-2010
Ubicación: www
Mensajes: 433
Antigüedad: 13 años, 6 meses
Puntos: 54
Respuesta: Envío automático de un email cuando alguien visita mi web

Entonces utiliza la libreria phpmailer:

http://phpmailer.worxware.com/

Código PHP:
Ver original
  1. require("class.phpmailer.php");
  2.  
  3.  
  4. $mail = new PHPMailer();
  5. $mail->IsSMTP(); // telling the class to use SMTP
  6. $mail->SMTPAuth = true;     // turn on SMTP authentication
  7. $mail->Host = "smtp.yahoo.com"; // SMTP server
  8. $mail->Username = "user_name";
  9. $mail->Password = "pass";
  10.  
  11. // etc..


A ver :)
  #8 (permalink)  
Antiguo 08/06/2011, 09:51
 
Fecha de Ingreso: junio-2011
Mensajes: 4
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Envío automático de un email cuando alguien visita mi web

Bueno, pues he instalado la clase phpmailer, he mirado algún que otro sitio en internet, pero a la que abro Tako para editar en una página he incluir el código que me has dado mas lo que colgué aquí no me reconoce tu parte de código, podrías ponerme todo como lo tendría que poner en la cabecera de mi pagina? Gracias y un saludo

Etiquetas: email
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:09.