PHP - mails con php

 
Vista:
Imágen de perfil de Angel Manuel

mails con php

Publicado por Angel Manuel (6 intervenciones) el 26/01/2015 19:11:38
Hola:

Estoy escribiendo un codigo que averigue la ip remota de quien visita mi pagina y me la envie por email a mi correo. Este es el codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
 
		$ip=$_SERVER['REMOTE_ADDR']; //A la variable ip le asignamos la ip remota
 
//Aquí le preguntamos por los navegadores más conocidos
         if (ereg("Netscape", $_SERVER["HTTP_USER_AGENT"]))
               $navegador = "Netscape";
           elseif(ereg("Firefox", $_SERVER["HTTP_USER_AGENT"]))
              $navegador = "FireFox";
           elseif(ereg("MSIE", $_SERVER["HTTP_USER_AGENT"]))
               $navegador = "Microsoft IE";
           elseif(ereg("Opera", $_SERVER["HTTP_USER_AGENT"]))
               $navegador = "Opera";
           elseif(ereg("Konqueror", $_SERVER["HTTP_USER_AGENT"]))
                $navegador = "Konqueror";
			elseif(ereg("Chrome", $_SERVER["HTTP_USER_AGENT"]))
               $navegador = "Chrome";
           else $navegador = "Estas usando un navegador que lo conoce poca gente, jejejeje.";
 
echo "Tú ip real es: ".$ip;
echo "<br>Y tu navegador es: ".$navegador;
?>
<head>
<title><h1>Saber ip remota y mandarla al email</h1></title>
</head>
<body onLoad="form1.submit()">
<form name="form1" action="mailto:amgares@yahoo.es" method="post" >
<input type="hidden" name="navegador" value="<?php echo $navegador; ?>">
<br>
<input type="hidden" name="ipRemota" value="<?php echo $ip; ?>">
</form>
</body>

Aparentemente averigua la ip y el navegador y lo muestra en pantalla, pero no me envia los datos a mi email. Tengo Windows Vista Home Premium y configurado el Windows Mail para enviar correos y me salta al entrar en la pagina. ¿No hay algun modo de que envie los datos directamente sin que me salte el p... Windows Mail ?

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

mails con php

Publicado por xve (6935 intervenciones) el 26/01/2015 21:24:04
Hola Angel, pero esto que estas utilizando no seria lo correcto, ya que el usuario tiene que pulsar sobre el formulario, y luego lo tiene que enviar utilizando su aplicación de correo electrónico si tiene configurado.

Puedes utilizar la instrucción mail() del php, pero no siempre te funcionara correctamente, lo suyo es que utilices tu servidor SMTP... Revisa este código:
http://www.lawebdelprogramador.com/codigo/PHP/1884-Envio-de-correo-mediante-servidor-SMTP.html

Coméntanos cualquier problema, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de txema
Val: 79
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

mails con php

Publicado por txema (7 intervenciones) el 26/01/2015 21:49:47
Hola Angel Manuel

Mientras te contestaba xve estaba preparando y comprobando pruebas.

Lo primero es que te complicas con los datos IP y navegador.
puede ser tan sencillo como
1
2
3
4
5
6
<?php
$ip=$_SERVER['REMOTE_ADDR']; //A la variable ip le asignamos la ip remota
$navegador=$_SERVER['HTTP_USER_AGENT'];
echo "Tú ip real es: ".$ip;
echo "<br>Y tu navegador es: ".$navegador;
?>

Lo segundo es lo ya comentado por xve:

Es algo más complicado que tu form y hay que configurar el envío.

en función mail php puede ser este código (a mí me funciona en el servidor pero no en local, que utilizo pear y es otra cosa.

Combino PHP y tu form en HTML al que le faltaban datos (origen, asunto):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
if(isset($_POST['enviar'])&&($_POST['destino']!="" )){
$to = $_POST[ 'destino']; // el destinatario del envío llegado desde el <form>
$subject = $_POST['asunto'];
$mensaje = "Tú ip real es: ".$ip."<br>Y tu navegador es: ".$navegador;
$headers = "From: amgares@yahoo.es". "\r\n";  // quien envía el mensaje
mail($to,$subject,$mensaje,$headers) or die ('<span style ="color:#BE1522; font-weight: bolder;>"Error al enviar. Inténteló dentro de unos minutos."</span>;');
}
?>
<form name="form1" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" >
<!-- todo va en "hidden" para ocultarlo -->
<input type="hidden" name="destino" value="amgares@yahoo.es">
<input type="hidden" name="asunto" value="Esto es una prueba">
<input type="hidden" name="navegador" value="<?php echo $navegador; ?>">
<input type="hidden" name="ipRemota" value="<?php echo $ip; ?>">
<input type="submit" name="enviar" value="Enviar">

Nos comentas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Angel Manuel

mails con php

Publicado por Angel Manuel (6 intervenciones) el 27/01/2015 09:48:45
No termino de entenderte. LLevo poco tiempo programando en php.
¿Me podrias poner todo el codigo en un unico archivo para subirlo al servidor y poder probarlo?
Lo que quiero es capturar los datos, guardarlos en variables o hiddens y mediante la funcion mail de php o mediante un formulario enviarmelos a mi correo sin que el usuario lo sepa.
Se supone que yo no tendria que escribir nada. Al entrar en la pagina ésta detectaria la ip y el navegador del usuario, guardaria los datos y sabria a que email tiene que enviarlos.
Me he bajado los archivos de sendMail.php pero no entiendo como tengo que usarlos.
Cuando abro php en local se me resetea el pc

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar