Antiguo 29-jun-2009, 23:46   #1 (permalink)
Usuario activo
 
Fecha de Ingreso: abril-2009
Mensajes: 22
kuert sin puntos positivos o negativos
Predeterminado Problema funcion mail php

Hola buenas,

He creado un formulario de contacto con flash, el qual se envia con la funcion mail de php pasandle los parametros desde php.

Este es el código php que tengo:

<?php

$nombre = $_POST['nombre'];
$apellidos = $_POST['apellidos'];
$mail = $_POST['email'];
$telefono = $_POST['telefono'];


$header = 'From: ' . $mail . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje = "Este mensaje fue enviado por " . $nombre . " " . $apellidos . ", con telefono " . $telefono . " \r\n";
$mensaje .= "Su e-mail es: " . $mail . " \r\n";
$mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$para = 'kkuertt@hotmail.com';
$asunto = 'Contacto desde web Marbel';

mail($para, $asunto, utf8_decode($mensaje), $header);

echo '&exito=true&';

?>


Como veis al final devuelve un parametro para saber si se ha enviado correctamente.

El caso es que si lo ejecuto a mi pc si que funciona, es decir me devulve exito como true y me sale el mensaje como si se hubiera mandado bien, aunque no se mande porque no tengo instalado php en mi pc, pero cuando lo pongo en el hosting ni me devuelve exito como true.

Sabeis a que puede ser debido?

Gracias
kuert está desconectado  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Comparte en Facebook!Spurl este mensaje!Reddit!Menea este mensaje!Wong este mensaje!Agrega a Bitacoras!Agrega a MySpace!Agrega a Twitter!Agrega a FriendFeed!Agrega a LinkedIn!Agrega a Ping.fm!Agrega a Wikio!Agrega a Netvibes!
Responder Citando
Antiguo 30-jun-2009, 00:16   #2 (permalink)
Usuario activo
 
Fecha de Ingreso: abril-2009
Mensajes: 22
kuert sin puntos positivos o negativos
Predeterminado

Hola buenas,

Ya me funciona, pero he podido observar es que si alguien consigue saber la url hacia mi archivo php puede bombardearme de correos sin mas...

Es decir si yo pongo en mi navegador ww.......es/enviar_mail.php siendo esa la ruta asta el archivo php se envia el correo sin mas...

Hay alguna forma de dar mas seguridad a eso?

Gracias foreros!
kuert está desconectado  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Comparte en Facebook!Spurl este mensaje!Reddit!Menea este mensaje!Wong este mensaje!Agrega a Bitacoras!Agrega a MySpace!Agrega a Twitter!Agrega a FriendFeed!Agrega a LinkedIn!Agrega a Ping.fm!Agrega a Wikio!Agrega a Netvibes!
Responder Citando
Antiguo 30-jun-2009, 01:44   #3 (permalink)
Moderador
 
Avatar de Apolo
 
Fecha de Ingreso: febrero-2006
Ubicación: Planeta Tierra
Mensajes: 6.134
Apolo sigue por muy buen camino
Predeterminado

Hay formas de "proteger" (con código) un archivo PHP para que no puedan acceder directamente con la ruta. Y también hay formas de protegerlo con medidas básicas anti-spam y de protección para que no te lo utilicen para enviar spam.

Busca en la documentación de PHP. Yo no sabría decirte, pues lo mío no es la programación.

Saludos,
__________________
´
Visita dinahosting para tus dominios, hosting, VPS, y servidores dedicados. Registro de dominios acreditado por la ICANN.
Apolo está desconectado  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Comparte en Facebook!Spurl este mensaje!Reddit!Menea este mensaje!Wong este mensaje!Agrega a Bitacoras!Agrega a MySpace!Agrega a Twitter!Agrega a FriendFeed!Agrega a LinkedIn!Agrega a Ping.fm!Agrega a Wikio!Agrega a Netvibes!
Responder Citando
Antiguo 30-jun-2009, 11:31   #4 (permalink)
Usuario activo
 
Avatar de MaxKiller
 
Fecha de Ingreso: febrero-2009
Ubicación: Cataluña, España.
Mensajes: 1.125
MaxKiller tiene un aura espectacular a su alrededor
Predeterminado

Puedes hacer una comprobación en el referer con un "if".

Si el acceso al archivo PHP no viene desde la URL que especifiques, no se ejecutará.
MaxKiller está desconectado  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Comparte en Facebook!Spurl este mensaje!Reddit!Menea este mensaje!Wong este mensaje!Agrega a Bitacoras!Agrega a MySpace!Agrega a Twitter!Agrega a FriendFeed!Agrega a LinkedIn!Agrega a Ping.fm!Agrega a Wikio!Agrega a Netvibes!
Responder Citando
Antiguo 30-jun-2009, 13:55   #5 (permalink)
Usuario activo
 
Fecha de Ingreso: abril-2009
Mensajes: 22
kuert sin puntos positivos o negativos
Predeterminado

Cita:
Iniciado por MaxKiller Ver Mensaje
Puedes hacer una comprobación en el referer con un "if".

Si el acceso al archivo PHP no viene desde la URL que especifiques, no se ejecutará.
HOla buenas,


Con que funcion se podria hacer esto?

Podrias ponerme una muestra de codigo?


Gracias otra vez!

Saludos!
kuert está desconectado  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Comparte en Facebook!Spurl este mensaje!Reddit!Menea este mensaje!Wong este mensaje!Agrega a Bitacoras!Agrega a MySpace!Agrega a Twitter!Agrega a FriendFeed!Agrega a LinkedIn!Agrega a Ping.fm!Agrega a Wikio!Agrega a Netvibes!
Responder Citando
Antiguo 30-jun-2009, 14:32   #6 (permalink)
Usuario activo
 
Avatar de MaxKiller
 
Fecha de Ingreso: febrero-2009
Ubicación: Cataluña, España.
Mensajes: 1.125
MaxKiller tiene un aura espectacular a su alrededor
Predeterminado

Cita:
Iniciado por kuert Ver Mensaje
HOla buenas,


Con que funcion se podria hacer esto?

Podrias ponerme una muestra de codigo?


Gracias otra vez!

Saludos!
Échale un vistazo a este par de enlaces:

http://www.trap17.com/index.php/Chec...es_t40295.html

http://www.mustap.com/phpzone_post_6...the-referer-se
MaxKiller está desconectado  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Comparte en Facebook!Spurl este mensaje!Reddit!Menea este mensaje!Wong este mensaje!Agrega a Bitacoras!Agrega a MySpace!Agrega a Twitter!Agrega a FriendFeed!Agrega a LinkedIn!Agrega a Ping.fm!Agrega a Wikio!Agrega a Netvibes!
Responder Citando
Antiguo 30-jun-2009, 16:51   #7 (permalink)
Usuario activo
 
Fecha de Ingreso: junio-2009
Mensajes: 118
vicram sin puntos positivos o negativos
Enviar un mensaje por MSN a vicram Enviar un mensaje por Skype™ a vicram
Predeterminado

este es un codigo q uso muchas veces siempre y cuando se mi IP, a ti te dejo la posibilidad de implementar la lecura de la ip en una BBDD.

Código PHP:
/*
 * SEGURIDAD DE ACCESO
 */
function Saber_IP() { 
        if (
getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) { 
                 
$ip getenv("HTTP_CLIENT_IP"); 
        } 
           elseif(
getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) { 
               
$ip getenv("HTTP_X_FORWARDED_FOR"); 
           } 
           elseif (
getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) { 
               
$ip getenv("REMOTE_ADDR"); 
           } 
           elseif (isset(
$_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) { 

               
$ip $_SERVER['REMOTE_ADDR']; 
           } 
           else { 
               
$ip "Unknown"
           } 
          return 
$ip
}

$ipClient Saber_Ip();

if (
$ipClient == "127.0.0.0") {
  
// si se mi ip la comparo si es esa realizo el codigo a mostrar
} else {
  echo 
'no tienes permisos';

vicram está desconectado  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Comparte en Facebook!Spurl este mensaje!Reddit!Menea este mensaje!Wong este mensaje!Agrega a Bitacoras!Agrega a MySpace!Agrega a Twitter!Agrega a FriendFeed!Agrega a LinkedIn!Agrega a Ping.fm!Agrega a Wikio!Agrega a Netvibes!
Responder Citando
Antiguo 30-jun-2009, 19:35   #8 (permalink)
Usuario activo
 
Fecha de Ingreso: abril-2009
Mensajes: 22
kuert sin puntos positivos o negativos
Predeterminado

Hola muchas gracias a los dos por vuestra ayuda.

Pero he puesto este codigo que parece que esta bien, pero no me funciona.

<?php

echo '&exito=false&';

if ( eregi ( "w w w.marbelamposta.es", $_SERVER['HTTP_REFERER'] ) )
{

$nombre = $_POST['nombre'];
$apellidos = $_POST['apellidos'];
$mail = $_POST['email'];
$telefono = $_POST['telefono'];
$ciudad = $_POST['ciudad'];


$header = 'From: ' . $mail . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje = "Este mensaje fue enviado por " . $nombre . " " . $apellidos . ", con telefono " . $telefono . " de la ciudad " . $ciudad . "\r\n";
$mensaje .= "Su e-mail es: " . $mail . " \r\n";
$mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$para = 'kkuertt@hotmail.com';
$asunto = 'Correo desde formulario de contacto de la web Marbel';

mail($para, $asunto, utf8_decode($mensaje), $header);

echo '&exito=true&';


} else {

echo 'no tienes permisos';

}

?>

Sabeis que puede ser?

Muchas Gracias
kuert está desconectado  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Comparte en Facebook!Spurl este mensaje!Reddit!Menea este mensaje!Wong este mensaje!Agrega a Bitacoras!Agrega a MySpace!Agrega a Twitter!Agrega a FriendFeed!Agrega a LinkedIn!Agrega a Ping.fm!Agrega a Wikio!Agrega a Netvibes!
Responder Citando
Antiguo 01-jul-2009, 20:36   #9 (permalink)
Usuario activo
 
Fecha de Ingreso: agosto-2008
Mensajes: 54
turbex sin puntos positivos o negativos
Predeterminado

pregunta:
¿en tu host tienes habilitada la funcion mail de PHP ?

me tocó una vez un cliente que tenía un host, pero que el tema de los correos se lo hacían con google apps, y tenian deshabilitada la función "mail" de PHP.

en tal caso... prueba esto ... quizás funcione:
Código PHP:
<?php

$nombre 
$_POST['nombre'];
$apellidos $_POST['apellidos'];
$mail $_POST['email'];
$telefono $_POST['telefono'];


$header 'From: ' $mail " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje "Este mensaje fue enviado por " $nombre " " $apellidos ", con telefono " $telefono " \r\n";
$mensaje .= "Su e-mail es: " $mail " \r\n";
$mensaje .= "Mensaje: " $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " date('d/m/Y'time());

$para 'kkuertt@hotmail.com';
$asunto 'Contacto desde web Marbel';

$result = @mail($para$asuntoutf8_decode($mensaje), $header);

if(
$result) echo '&exito=true&';
else echo 
'&exito=false&';

?>
turbex está desconectado  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Comparte en Facebook!Spurl este mensaje!Reddit!Menea este mensaje!Wong este mensaje!Agrega a Bitacoras!Agrega a MySpace!Agrega a Twitter!Agrega a FriendFeed!Agrega a LinkedIn!Agrega a Ping.fm!Agrega a Wikio!Agrega a Netvibes!
Responder Citando
Antiguo 01-jul-2009, 21:35   #10 (permalink)
Usuario activo
 
Fecha de Ingreso: abril-2009
Mensajes: 22
kuert sin puntos positivos o negativos
Predeterminado

Cita:
Iniciado por turbex Ver Mensaje
pregunta:
¿en tu host tienes habilitada la funcion mail de PHP ?

me tocó una vez un cliente que tenía un host, pero que el tema de los correos se lo hacían con google apps, y tenian deshabilitada la función "mail" de PHP.

en tal caso... prueba esto ... quizás funcione:
Código PHP:
<?php

$nombre 
$_POST['nombre'];
$apellidos $_POST['apellidos'];
$mail $_POST['email'];
$telefono $_POST['telefono'];


$header 'From: ' $mail " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje "Este mensaje fue enviado por " $nombre " " $apellidos ", con telefono " $telefono " \r\n";
$mensaje .= "Su e-mail es: " $mail " \r\n";
$mensaje .= "Mensaje: " $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " date('d/m/Y'time());

$para 'kkuertt@hotmail.com';
$asunto 'Contacto desde web Marbel';

$result = @mail($para$asuntoutf8_decode($mensaje), $header);

if(
$result) echo '&exito=true&';
else echo 
'&exito=false&';

?>
Hola,

Si si la funcion mail me funciona, sino pongo nada para controlar la seguridad si me envia el correo, es al poner el if para comprobar que se ejecuta desde el servidor que no me funciona.


Saludos!
kuert está desconectado  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Comparte en Facebook!Spurl este mensaje!Reddit!Menea este mensaje!Wong este mensaje!Agrega a Bitacoras!Agrega a MySpace!Agrega a Twitter!Agrega a FriendFeed!Agrega a LinkedIn!Agrega a Ping.fm!Agrega a Wikio!Agrega a Netvibes!
Responder Citando
Antiguo 03-jul-2009, 02:36   #11 (permalink)
Usuario activo
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 436
HostingDN sigue por muy buen camino
Predeterminado

Podrias colocar algo simple como esto (no es lo mejor pero es algo basico):

1. Coloca un nombre al boton enviar, asi como lo haces con los cuadros de texto, por ejemplo submit (lo mas comun)
2. En tu codigo coloca lo siguiente:

Código PHP:
$submit $_POST["submit"];
if( isset(
$submit) )
{
// aqui va todo tu codigo de envio de mail
}
else
{
// no se un mensaje de no se pudo enviar el mail o simplemente dejalo en blanco para que no mande nada

Esto podria ser algo muy simple que puedes hacer, otra cosa que puedes hacer es validar que todos los campos se reciban, si no se reciben que no haga nada, igual ocupa el isset
__________________
HostingDN [Digital Networks]
HostingDN La mejor opcion en Hospedaje Web en Mexico
Registro de Dominios
HostingDN está desconectado  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Comparte en Facebook!Spurl este mensaje!Reddit!Menea este mensaje!Wong este mensaje!Agrega a Bitacoras!Agrega a MySpace!Agrega a Twitter!Agrega a FriendFeed!Agrega a LinkedIn!Agrega a Ping.fm!Agrega a Wikio!Agrega a Netvibes!
Responder Citando
Antiguo 03-jul-2009, 17:44   #12 (permalink)
Usuario activo
 
Fecha de Ingreso: abril-2009
Mensajes: 22
kuert sin puntos positivos o negativos
Predeterminado

A ver, ya se de donde viene el problema.

El caso es que si pongo un if controlando alguna de las cosas que me habeis dicho, si funciona si llamo directamente el php, pero si lo llamo desde el formulario, que esta echo utilizando flash con la funcion sendAndLoad("enviar_mail.php", envio, "POST"); entonces no funciona.

O sea que es algo de la conexion flash con php, que sino controlo nada si se manda el mail pero si controlo algo con un if no funciona llamando desde flash, pero ejecutando el php directamente si.


Sabeis qe puede ser?

Gracias
kuert está desconectado  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Comparte en Facebook!Spurl este mensaje!Reddit!Menea este mensaje!Wong este mensaje!Agrega a Bitacoras!Agrega a MySpace!Agrega a Twitter!Agrega a FriendFeed!Agrega a LinkedIn!Agrega a Ping.fm!Agrega a Wikio!Agrega a Netvibes!
Responder Citando
     ComunidadHosting  

La comunidad dedicada al web hosting más grande en nuestro idioma.

Para anunciar en ComunidadHosting, o para información general, por favor utiliza el formulario de contacto.




Visite gravitynet.es para planes VPS




Abserhosting, alojamiento web
Servidores dedicados, virtuales
y de juegos de ultima generación.
Dell alojados en España

www.abserhosting.com



Hosting Reseller En Marca Blanca
Tienda Automatizada. Administrado.
ILIMITADOS Dominios, Soporte 24/7
Precio Especial Registro de Dominios

www.singularweb.com



My Boricua Hosting LLC
Hosting, reseller, dominios
planes desde $0.95 mensual
My Boricua Hosting

www.myboricuahosting.com



Alojamiento dedicado administrado
Servidores virtuales y dedicados
totalmente administrados
a precios de servicio no manejado.

www.masquewebs.com




Desarrollado por: vBulletin® Versión 3.8.4
Derechos de Autor ©2000 - 2010, Jelsoft Enterprises Ltd.
Traducido por mcloud de vBhispano.com

Search Engine Friendly URLs by vBSEO 3.3.2