Foros del Web » Programando para Internet » PHP »

envio de e-mail formulario de registro no funciona

Estas en el tema de envio de e-mail formulario de registro no funciona en el foro de PHP en Foros del Web. <!doctype html public "-//W3C//DTD HTML 4.0//EN"> <html> <head> <title>Untitled web-page</title> </head> <body> <FORM ACTION="emailform.php" METHOD="POST"> Nombre subdominio<BR> <INPUT TYPE="text" NAME="name" SIZE="20" MAXLENGTH="30"><BR> Email:<BR> <INPUT TYPE="text" ...
  #1 (permalink)  
Antiguo 17/08/2006, 01:34
Avatar de clan17rey  
Fecha de Ingreso: julio-2006
Mensajes: 53
Antigüedad: 11 años, 4 meses
Puntos: 0
envio de e-mail de formulario de registro no funciona

<!doctype html public "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
<title>Untitled web-page</title>
</head>
<body>
<FORM ACTION="emailform.php" METHOD="POST">
Nombre subdominio<BR>
<INPUT TYPE="text" NAME="name" SIZE="20" MAXLENGTH="30"><BR>
Email:<BR>
<INPUT TYPE="text" NAME="email" SIZE="20" MAXLENGTH="30"><BR>
prueba:<BR>
<INPUT TYPE="text" NAME="subject" SIZE="20" MAXLENGTH="30"><BR>
prueba:<BR>
<INPUT TYPE="textarea" NAME="text" ROWS="60" COLS="10" MAXLENGTH="200"><BR>
<INPUT TYPE="submit" VALUE="ENVIAR">
</FORM>
<?
if (isset($email)):
# la dirección electrónica a la que enviar el email
$target="[email protected]";
mail($target,$subject,"Nombre: ".$nombre."\nTítulo: ".$subject."\n\n".$text);
endif;
?>
</body>
</html>


es simplemnet un formulario para que el usuario mande el nombre del subdominio y su correo y que me llegue a mi correo:
que es [email protected]

mil gracias por su atencion cual sera el error???

saludos¡¡¡¡¡¡¡¡¡¡
  #2 (permalink)  
Antiguo 17/08/2006, 02:00
Avatar de Gerardoaguirre  
Fecha de Ingreso: junio-2004
Mensajes: 68
Antigüedad: 13 años, 6 meses
Puntos: 0
Asi tienes tu pagina PHP?¿

Me refiero a que si el proceso mail lo vas a dejar en donde esta el form
__________________
Entre mas nos ayudemos, mas aprenderemos!!
  #3 (permalink)  
Antiguo 17/08/2006, 02:28
Avatar de Gerardoaguirre  
Fecha de Ingreso: junio-2004
Mensajes: 68
Antigüedad: 13 años, 6 meses
Puntos: 0
Hola, tenias un pequeño error, tu campo para nombre se llama name y en el mail() mandabas llamar nombre.

Tambien te aumente una parate de codigo:

"From: $name <$email>"

Esto es para que en tu mail, te aparezca el nombre de quien lo mando y su mail por si le das click en responder, automaticamente ya tienes su mail en la caja de texto.

Ciao

Código PHP:

<!doctype html public "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
<title>Untitled web-page</title>
</head>
<body>
<FORM ACTION="emailform.php" METHOD="POST">
Nombre subdominio<BR>
<INPUT TYPE="text" NAME="name" SIZE="20" MAXLENGTH="30"><BR>
Email:<BR>
<INPUT TYPE="text" NAME="email" SIZE="20" MAXLENGTH="30"><BR>
Subject:<BR>
<INPUT TYPE="text" NAME="subject" SIZE="20" MAXLENGTH="30"><BR>
mensaje:<BR>
<INPUT TYPE="textarea" NAME="text" ROWS="60" COLS="10" MAXLENGTH="200"><BR>
<INPUT TYPE="submit" VALUE="ENVIAR">
</FORM>


<?
if (isset($email)):
# la dirección electrónica a la que enviar el email
$target="[email protected]";
mail($target,$subject,"Nombre: ".$name."\nTítulo: ".$subject."\n\n".$text,"From: $name <$email>");
endif;
?>

</body>
</html>
__________________
Entre mas nos ayudemos, mas aprenderemos!!
  #4 (permalink)  
Antiguo 17/08/2006, 11:37
Avatar de clan17rey  
Fecha de Ingreso: julio-2006
Mensajes: 53
Antigüedad: 11 años, 4 meses
Puntos: 0
amigo a ti te funciono

Cita:
Iniciado por Gerardoaguirre Ver Mensaje
Hola, tenias un pequeño error, tu campo para nombre se llama name y en el mail() mandabas llamar nombre.

Tambien te aumente una parate de codigo:

"From: $name <$email>"

Esto es para que en tu mail, te aparezca el nombre de quien lo mando y su mail por si le das click en responder, automaticamente ya tienes su mail en la caja de texto.

Ciao

Código PHP:

<!doctype html public "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
<title>Untitled web-page</title>
</head>
<body>
<FORM ACTION="emailform.php" METHOD="POST">
Nombre subdominio<BR>
<INPUT TYPE="text" NAME="name" SIZE="20" MAXLENGTH="30"><BR>
Email:<BR>
<INPUT TYPE="text" NAME="email" SIZE="20" MAXLENGTH="30"><BR>
Subject:<BR>
<INPUT TYPE="text" NAME="subject" SIZE="20" MAXLENGTH="30"><BR>
mensaje:<BR>
<INPUT TYPE="textarea" NAME="text" ROWS="60" COLS="10" MAXLENGTH="200"><BR>
<INPUT TYPE="submit" VALUE="ENVIAR">
</FORM>


<?
if (isset($email)):
# la dirección electrónica a la que enviar el email
$target="[email protected]";
mail($target,$subject,"Nombre: ".$name."\nTítulo: ".$subject."\n\n".$text,"From: $name <$email>");
endif;
?>

</body>
</html>


amigo a mi no me a querido funcionar que sera el error?? MMMMM

mil gracias por su atencion
  #5 (permalink)  
Antiguo 17/08/2006, 12:26
Avatar de Gerardoaguirre  
Fecha de Ingreso: junio-2004
Mensajes: 68
Antigüedad: 13 años, 6 meses
Puntos: 0
mmmmm

Pues no le encuentro ningun error k!!!

Yo ya lo monte en mi server y si jala

Quiza tu server no tiene activo el servicio para mandar mail
__________________
Entre mas nos ayudemos, mas aprenderemos!!
  #6 (permalink)  
Antiguo 17/08/2006, 12:35
Avatar de clan17rey  
Fecha de Ingreso: julio-2006
Mensajes: 53
Antigüedad: 11 años, 4 meses
Puntos: 0
pero mi servicio de hosting es de los mejores

Cita:
Iniciado por Gerardoaguirre Ver Mensaje
Pues no le encuentro ningun error k!!!
Yo ya lo monte en mi server y si jala
Quiza tu server no tiene activo el servicio para mandar mail

jejeje amigo mi server es de los mas prestijisosos lleva el fantastico
  #7 (permalink)  
Antiguo 17/08/2006, 12:50
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 14 años, 11 meses
Puntos: 8
te aconsejo utilizar la clase phpmailer, te has fijado q no este entre el spam?
  #8 (permalink)  
Antiguo 18/08/2006, 10:55
Avatar de clan17rey  
Fecha de Ingreso: julio-2006
Mensajes: 53
Antigüedad: 11 años, 4 meses
Puntos: 0
Información

hola todavia no hay mas respuestas ahun no se me a solucionando el problema ):
  #9 (permalink)  
Antiguo 18/08/2006, 10:59
Avatar de clan17rey  
Fecha de Ingreso: julio-2006
Mensajes: 53
Antigüedad: 11 años, 4 meses
Puntos: 0
oh alguno m epuede pasar otro codigo? de ese estilo

la idea es tener un formulario de solo 2 casillitas

1 ) para que el usuario escriba el nombre del subdominio
2 ) para que el usuario escriba su correo .

luego abajito un boton enviar. y listo

cuando le de el enviar el usuario .

esa informacion debe llegue a mi correo-

eso es todo lo que necesito .
  #10 (permalink)  
Antiguo 18/08/2006, 11:00
Avatar de maralbust  
Fecha de Ingreso: febrero-2004
Ubicación: Santiago
Mensajes: 578
Antigüedad: 13 años, 9 meses
Puntos: 0
te da algun error? o lo envia y no llega?

si la la respuesta es la puerta B, creo que deberias revisar el log de tu server para ver que pasa con eso.

saludos
__________________
..:: NADA SE PIERDE SOLO SE TRANSFORMA ::..
  #11 (permalink)  
Antiguo 18/08/2006, 11:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por clan17rey Ver Mensaje
jejeje amigo mi server es de los mas prestijisosos lleva el fantastico
Pues si es así de "prestijioso" tendrás que aprovechar su excelente servicio de soporte y preguntar a tu proveedor por qué no salen tus e-mails o son bloqueados.

Sólo te comento que tu código no usa ninguna cabecera para el e-mail .. no define ni FROM (una de las más básicas) ni nada ...

El ejemplo de Gerardoaguirre incluye algunas .. pero no todas.

Usa lo que ya te han recomendado:

PHPMailer
http://phpmailer.sourceforge.net

Por lo menos define según los standares y las RFC's que definen el protocolo SMTP el e-mail.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #12 (permalink)  
Antiguo 18/08/2006, 12:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por clan17rey Ver Mensaje
oh alguno m epuede pasar otro codigo? de ese estilo

la idea es tener un formulario de solo 2 casillitas

1 ) para que el usuario escriba el nombre del subdominio
2 ) para que el usuario escriba su correo .

luego abajito un boton enviar. y listo

cuando le de el enviar el usuario .

esa informacion debe llegue a mi correo-

eso es todo lo que necesito .
Yo no sé realmente si sabes como funciona esto del "e-mail" .. pero tu estás achacando todo el problema a cierto código y en muchos casos NO es así .. por mucho que digas que usas un "servicio de hosting prestijioso" ..

Hay ciertas pruebas que hacer y verificar ... por ejemplo esos log's de tu servidor de correo (que tu no tienes acceso a ellos pero si tu proveedor) donde se puede observar la "transacción y entrega" del e-mail desde PHP al MTA instalado (Servidor de correo que use tu proveedor y así configure para mail() si es que lo vas a usar) al servidor SMTP que lo reciba.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #13 (permalink)  
Antiguo 18/08/2006, 12:04
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 11 años, 10 meses
Puntos: 3
Cita:
Iniciado por Cluster Ver Mensaje

Sólo te comento que tu código no usa ninguna cabecera para el e-mail .. no define ni FROM (una de las más básicas) ni nada ...


Un saludo,
Pero igual,si el script esta bien,deberia de funcionar aun si no pones los headers... ya he mandado varios mails solo con el contenido ,destino y asunto.
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #14 (permalink)  
Antiguo 18/08/2006, 12:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por B** Ver Mensaje
Pero igual,si el script esta bien,deberia de funcionar aun si no pones los headers... ya he mandado varios mails solo con el contenido ,destino y asunto.
Una cosa es "funcionar" .. es decir .. que tu MTA reciba el e-mail .. es decir, que mail() devuelva un "true" de ejecución de esta.

Otra bien diferente es que el servidor de correo destiono (SMTP) acepte el e-mail y no lo rechace o lo clasifique como SPAM por Incumplir las normas que el protocolo SMTP define en sus RFC (documentos) correspondientes.

Si a todo esto sumas que no tienes acceso a los "log's" de tu servidor de correo (SMTP o MTA que uses) .. menos vas a ver que sucede exactamente e iras a "ciegas" como suele pasar en el 99.9% de problemas con el envio de e-mails vía PHP.

Hay que tener claro que PHP sólo "entrega" el e-mail a enviar al MTA que use el servidor que corre PHP o se indique (en el caso de uso de mail() en php.ini .. sendmail_path si se usa sendmail o SMTP = .. servidor de correo a usar). Otra cosa será como ese "MTA" (Mail transfer Agent) entrege el e-mail a su destinatario si este no lo bloquea o rechaza .. en ese caso "PHP" nunca sabrá del problema . .no tiene forma de recibir ese "feedback".

Usando sistemas como "PHPMailer" enviando el e-mail por SMTP directo ahí se puede obtener algo más de información sobre problemas de comunicación.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #15 (permalink)  
Antiguo 18/08/2006, 13:01
Avatar de clan17rey  
Fecha de Ingreso: julio-2006
Mensajes: 53
Antigüedad: 11 años, 4 meses
Puntos: 0
Cita:
Iniciado por Cluster Ver Mensaje
Una cosa es "funcionar" .. es decir .. que tu MTA reciba el e-mail .. es decir, que mail() devuelva un "true" de ejecución de esta.

Otra bien diferente es que el servidor de correo destiono (SMTP) acepte el e-mail y no lo rechace o lo clasifique como SPAM por Incumplir las normas que el protocolo SMTP define en sus RFC (documentos) correspondientes.

Si a todo esto sumas que no tienes acceso a los "log's" de tu servidor de correo (SMTP o MTA que uses) .. menos vas a ver que sucede exactamente e iras a "ciegas" como suele pasar en el 99.9% de problemas con el envio de e-mails vía PHP.

Hay que tener claro que PHP sólo "entrega" el e-mail a enviar al MTA que use el servidor que corre PHP o se indique (en el caso de uso de mail() en php.ini .. sendmail_path si se usa sendmail o SMTP = .. servidor de correo a usar). Otra cosa será como ese "MTA" (Mail transfer Agent) entrege el e-mail a su destinatario si este no lo bloquea o rechaza .. en ese caso "PHP" nunca sabrá del problema . .no tiene forma de recibir ese "feedback".

Usando sistemas como "PHPMailer" enviando el e-mail por SMTP directo ahí se puede obtener algo más de información sobre problemas de comunicación.

Un saludo,

escuchen amigos cuando hablo de que mi hosting no tiene problema es por que asi es:

ya havia dicho esto varias veces amigo cluster mi hosting ya a pasado por varias pruebas de este tipo como un contactenos en php que tiene actulamente que funciona muy bien tambien funciona un recomendanos pagina:

ASi que por ese lado esta bien lo que no esta bien son los codigos solo pido otro que este bueno con las opciones que pido. que son 2 casillitas uno para el correo de usuario y otro para el nombre del dominio muchas gracias:::: mis estimados amigos
  #16 (permalink)  
Antiguo 18/08/2006, 13:14
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por clan17rey Ver Mensaje
escuchen amigos cuando hablo de que mi hosting no tiene problema es por que asi es:

ya havia dicho esto varias veces amigo cluster mi hosting ya a pasado por varias pruebas de este tipo como un contactenos en php que tiene actulamente que funciona muy bien tambien funciona un recomendanos pagina:

ASi que por ese lado esta bien lo que no esta bien son los codigos solo pido otro que este bueno con las opciones que pido. que son 2 casillitas uno para el correo de usuario y otro para el nombre del dominio muchas gracias:::: mis estimados amigos
Si ya lo has dicho varias veces .. no sé si será en este mensaje .. en cualquier caso -ahora- ya queda claro.

Si quieres el código "a la carta" .OK espera que alguien lo haga.

Yo sólo te puedo hacer sugerencias sobre tu actual código:

1) Debes comprobar si tu código pasa al IF() (dentro) .. por qué "me parece" que no es así.
2) Revisa si tus variables llegan de tu formulario a la parte del mismo que hace el proceso ..

Esto "sabrías" hacerlo?

Bueno . .en cualquier caso el uso de las variables externas que haces NO ES Correcto. Debes usar los arrays superglobales.

Me refiero a cosas como:
if (isset($email)):
# la dirección electrónica

sería:

if (isset($_POST['email'])):
# la dirección electrónica

Y .. por mi parte no usaría : .. endif (constumbres) . .me que más claro ir abriendo y cerrando { } para las instrucciones involucradas.

Código PHP:
if (isset($_POST['email'])){
   if (
mail(.......)){
      
header ("Location: pagina_exito.tal");
      exit;
      } else {
      
header ("Location: pagina_error.tal");
      exit;
   }
} else {
   
header ("Location: pagina_error.tal");
   exit;   

(Redirecciono ante la ejecución del envio del e-mail o errores .. NO dejo el proceso ahí miso .. si recargas la página según tú lo pretendes hacer veras que el e-mail se vuelve a enviar nuevamente con los mismos datos .. eso es un error típico que tiene fácil solución como te presento).

Dices que "otros códigos te han funcionado" ... si muestras algunos de ellos te podríamos explicar las diferencias tal vez o que parte tomar para usarlo en este nuevo proyecto . .así de paso "aprendes" de que vá el tema . .por qué ya has hecho dos sistemas que se basan en lo mismo y sigues con problemas .. No será mejor aprender un poco .. digo yo?.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #17 (permalink)  
Antiguo 18/08/2006, 13:17
Avatar de pato_volador  
Fecha de Ingreso: octubre-2005
Ubicación: Planeta tierra
Mensajes: 254
Antigüedad: 12 años, 2 meses
Puntos: 0
Duda... el accion del formulario envia los datos a un archivo llamado "emailform.php".. aja... y es la misma pagina? o los estas mandando a un archivo diferente...?

Luego, has probado lo mas sencillo que es ver que te devuelve la funcion mail?
Código PHP:
$resultado mail($target,$subject,"Nombre: ".$nombre."\nTítulo: ".$subject."\n\n".$text);
if (
$resultado == true)
{
echo 
'El mail salio, el problema no esta en el script ni en el servidor';
}
if (
$resultado == false)
{
echo 
'El mail no salio del servidor, el problema esta en el script';

__________________
De todas las cosas que queria ser... :-D acabe siendo un pato volador... :risa:
http://patovolador.wordpress.com
  #18 (permalink)  
Antiguo 18/08/2006, 13:49
Avatar de clan17rey  
Fecha de Ingreso: julio-2006
Mensajes: 53
Antigüedad: 11 años, 4 meses
Puntos: 0
mi estimado amigo cruster¡¡

jeje gracias amigo mira aqui
esta la direccion

http://www.clan17rey.com/emailform.php para que mas o menos
te enteres de lo que el usario ve
  #19 (permalink)  
Antiguo 18/08/2006, 14:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por clan17rey Ver Mensaje
jeje gracias amigo mira aqui
esta la direccion

http://www.clan17rey.com/emailform.php para que mas o menos
te enteres de lo que el usario ve
Viendo un "Formulario" sólo . .no sacamos nada .. Tu problema principal -puede- estar en la forma que obtienes tus variables en PHP .. que ya te comenté que debes usar $_POST como te indiqué.

Luego está el tema de hacer simples pruebas con el código delante .. no quedarte mirandolo a ver si funciona. Ya te comenté cosas como ver si pasa a tu if() (dentro) o si llegan tus variables del formulario a tu script de proceso o parte de el .. Si ya lo has hecho .. aquí no lo has dicho y eso es primordial para ver el problema. Date cuenta que -tú- tienes el código que usas y en las condiciones que a tí te dá el problema .. eso no lo tenemos los que pretendemos ayudarte .. por eso es necesario -tú colaboración-.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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:30.