Foros del Web » Programando para Internet » PHP »

Error con funcion mail() Ayudita

Estas en el tema de Error con funcion mail() Ayudita en el foro de PHP en Foros del Web. Estoy haciendo un formulario de registro una ves se llene los datos del usuario y de click en registrar me debe enviar el usuario y ...
  #1 (permalink)  
Antiguo 05/08/2012, 12:20
Avatar de youangelazul  
Fecha de Ingreso: julio-2012
Ubicación: Ancash, Huarmey
Mensajes: 18
Antigüedad: 11 años, 8 meses
Puntos: 3
Error con funcion mail() Ayudita

Estoy haciendo un formulario de registro una ves se llene los datos del usuario y de click en registrar me debe enviar el usuario y contraseña pero me ocurre que no me envia nada...
alguie podria ayudarme den ante mano gracias

<?
include('Conexion/conexionBD.php');

$link=Conectarse();

// Capturo datos del formulario.
$usuario = $_POST['usuario'];
$nombre = $_POST['nombres'];
$apellidos = $_POST['apellidos'];
$contraseña = $_POST['contraseña'];
$email = $_POST['email'];
$sexo = $_POST['sexo'];
$fechaNacimiento = $_POST['Año_Nacimiento'].'-'.$_POST['Mes_Nacimiento'].'-'.$_POST['Dia_Nacimiento'];
$celular = (int) $_POST['celular'];

//inserto datos en mi bd
if (mysql_query("insert into registrousuarios (usuario, nombre, apellido, contraseña, email, sexo, fechaNacimiento, celular) values('$usuario','$nombre','$apellidos','$contras eña','$email','$sexo','$fechaNacimiento','$celular ')", $link))
{
//compongo el cuerpo del mensaje
$dest = $email;
$head = "From: ".$email."\r\n";
$head.= "To: [email protected]\r\n";

$cuerpo .= "Hola ".$nombre."!. \n";
$cuerpo .= "Estos son tus datos:\n";
$cuerpo .= "Usuario: ".$usuario."\n";
$cuerpo .= "Contraseña: ".$contraseña."\n";
$cuerpo .= "Muchas gracias por unirse. \n";
$cuerpo .= "------------------------------- \n\n";
$cuerpo .= "Atte. YouAnGelAzul \n";
$cuerpo .= "------------------------------- \n";

//mando el correo...

if(mail($dest, "Bienvenida", $cuerpo, $head))
{
//doy las gracias por el envío
echo "<script type='text/javascript'> alert('Wenjoy, sus datos han sido almacenados y enviados por imbox,\n Bienvenido! a Nuestra Humilde Comunidad.') </script>";
}else{
//mensaje de error de envio
echo "<script type='text/javascript'> alert('Ocurrio un error en el envio') </script>";
}

}else{
echo "<script type='text/javascript'> alert('No se ha podido registrar, algo anda mal') </script>";
echo mysql_errno().": ".mysql_error()."<BR>";
}

?>

BUENO LES DIGO DE QUE REGISTRA SI LO HACE PERO LO CHISTOSO ES QUE NO ENVIA LOS DATOS AL EMAIL Y NO ME VOTA NINGUN ERROR NI EL IF NI EL ELSE QUE ENCIERRA A LA FUNCION MAIL();
Ayudenme porfavor oz necesito graciias confio en ustedes :)
  #2 (permalink)  
Antiguo 05/08/2012, 12:27
 
Fecha de Ingreso: agosto-2012
Mensajes: 21
Antigüedad: 11 años, 8 meses
Puntos: 1
Respuesta: Error con funcion mail() Ayudita

Prueba a poner:
Código:
if(@mail($dest, "Bienvenida", $cuerpo, $head))
Ya que aparentemente lo demás está todo bien..
  #3 (permalink)  
Antiguo 05/08/2012, 12:35
Avatar de youangelazul  
Fecha de Ingreso: julio-2012
Ubicación: Ancash, Huarmey
Mensajes: 18
Antigüedad: 11 años, 8 meses
Puntos: 3
Respuesta: Error con funcion mail() Ayudita

Cita:
Iniciado por TitoP Ver Mensaje
Prueba a poner:
Código:
if(@mail($dest, "Bienvenida", $cuerpo, $head))
Ya que aparentemente lo demás está todo bien..
--------------------------------------------------------------------

Exacto, pero lastimosamente el error sigue no se que parte estoy fallando,
ya lo intente aplicando lo que me dijistes pero nada... Pff! creo yo si no se
que la funcion mail() debe votarme true/false y asi ejecutarse el if/else pero
ningunos se me ejecuta... ayuda....

mi formulario lo estructures asii...

<form name='formRegistro' id='formRegistro' method='post' action='#'>

no hay problema con esoo.. o sea que dentro de ese html esta mi php o tengo
que llamarlo desde afuera todavia en el action!
  #4 (permalink)  
Antiguo 05/08/2012, 13:19
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Error con funcion mail() Ayudita

El arroba es unicamente para evitar que se impriman los errores...

No dices en donde estas probando tu código, si en local o en un servidor remoto, en todo caso, si es en local es necesario tener instalado un servidor SMTP y tenerlo configurado correctamente...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #5 (permalink)  
Antiguo 05/08/2012, 14:32
Avatar de KsrZ  
Fecha de Ingreso: abril-2011
Ubicación: /home/KsrZ/Desktop
Mensajes: 156
Antigüedad: 13 años
Puntos: 26
Respuesta: Error con funcion mail() Ayudita

perdon por mi ignorancia, no lei todo, da paha... pero actualmente google te ofrece su smtp para reenvios, solo necesitas activar tu extención php de ssl, y así poder usar tu funcion mail, sin necesidad de un servidor smtp...

tan solo declara tu servidor
SMTP = smtp.gmail.com
port =465

y luego usa normalmente la funcion mail()
  #6 (permalink)  
Antiguo 05/08/2012, 17:20
Avatar de youangelazul  
Fecha de Ingreso: julio-2012
Ubicación: Ancash, Huarmey
Mensajes: 18
Antigüedad: 11 años, 8 meses
Puntos: 3
Respuesta: Error con funcion mail() Ayudita

Y eso de cofigurar mi servidor:

SMTP = smtp.gmail.com
port =465

COMO lo hago porfavor perdonen moleste mucho... soy nuevo lo estoy ejecutando
desde modo local e a la misma ves desde un servidor remoto pero asi no me corre... creo mi servidor remoto free no me da el SMTP pero lo puedo ejecutar localmente aunquesea pliz enseñenme graciias
  #7 (permalink)  
Antiguo 05/08/2012, 17:24
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Error con funcion mail() Ayudita

personalmente me deje de estar luchando tanto con la funcion mail desde hace mucho, use un poco phpmailer y hace poco masterpuppet me recomendo http://swiftmailer.org/, simple de utilizar de configurar y muy completa según mi criterio, es muy simple configurar para enviar los correos por gmail, por mail de php o por cualquier stmp que tengas configurado, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #8 (permalink)  
Antiguo 05/08/2012, 20:03
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Error con funcion mail() Ayudita

Cita:
Iniciado por KsrZ Ver Mensaje
perdon por mi ignorancia, no lei todo, da paha... pero actualmente google te ofrece su smtp para reenvios, solo necesitas activar tu extención php de ssl, y así poder usar tu funcion mail, sin necesidad de un servidor smtp...

tan solo declara tu servidor
SMTP = smtp.gmail.com
port =465

y luego usa normalmente la funcion mail()
Podrías indicar donde leiste que se puede usar el smtp de Google bajo mail() (configuración de php.ini)?, ya que hasta donde tengo entendido el smtp de Google es bajo autenticación y PHP no soporta nativamente autenticación en la función mail()...

Ahora, lo mas sencillo es tal cual dice @carlos_belisario, usar una clase especializada como PHPMailer o swiftmailer...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)

Última edición por Nemutagk; 05/08/2012 a las 20:08
  #9 (permalink)  
Antiguo 06/08/2012, 12:40
Avatar de KsrZ  
Fecha de Ingreso: abril-2011
Ubicación: /home/KsrZ/Desktop
Mensajes: 156
Antigüedad: 13 años
Puntos: 26
Respuesta: Error con funcion mail() Ayudita

Cita:
Iniciado por Nemutagk Ver Mensaje
Podrías indicar donde leiste que se puede usar el smtp de Google bajo mail() (configuración de php.ini)?, ya que hasta donde tengo entendido el smtp de Google es bajo autenticación y PHP no soporta nativamente autenticación en la función mail()...

Ahora, lo mas sencillo es tal cual dice @carlos_belisario, usar una clase especializada como PHPMailer o swiftmailer...
Aplicar configuraciones.. si el host te lo permite puedes usar ini_set();

ej:
Código PHP:
ini_set("SMTP","smtp.gmail.com"); 
http://www.php.net/manual/es/function.ini-set.php

Nemutagk, no maltrates asi, sono bastante mal, informate un poco antes.
no lo lei, lo aplique, googlea un poco con.. "smtp.gmail.com en la funcion mail()"
es bajo autenticación y PHP:
y si para ello requiere, tu cuenta de google y contraseña, con el bonus de habilitar la extencion SSL
imposible? no.
a favor: posees encriptacion.
en contra: tienes que configurar tu cuenta gmail para pop . nothing else i think..

si te es de ayuda para facilitar puedes darle con algún script libre como nombraban ahí PHPMailer entre otros.

Última edición por KsrZ; 06/08/2012 a las 12:51 Razón: agregar enlace php.net

Etiquetas: email, envioemail, mail()
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 19:06.