Foros del Web » Programando para Internet » PHP »

Formulario de envio

Estas en el tema de Formulario de envio en el foro de PHP en Foros del Web. Hola tengo un problemita, de antemano agradesco sus comentarios, gracias; estoy utilizando un formulario de envio: Código PHP:     $shtml  =  "Formulario enviado\n" ;       $shtml  .=  ...
  #1 (permalink)  
Antiguo 28/10/2005, 12:29
Avatar de speedy  
Fecha de Ingreso: octubre-2004
Ubicación: México
Mensajes: 127
Antigüedad: 13 años, 2 meses
Puntos: 0
Formulario de envio

Hola tengo un problemita, de antemano agradesco sus comentarios, gracias; estoy utilizando un formulario de envio:

Código PHP:
    $shtml "Formulario enviado\n"
    
$shtml .= "Nombre: " $HTTP_POST_VARS["Nombre"] . "\n"
    
$shtml .= "Email: " $HTTP_POST_VARS["Email"] . "\n"
    
$shtml .= "Comentarios: " $HTTP_POST_VARS["Comentarios"] . "\n"

$sfrom="[email protected]"//cuenta que envia 
$sdestinatario="[email protected]"//cuenta destino 
$ssubject="Formulario PHP"//subject 
$sheader="From:".$sfrom."\nReply-To:".$sfrom."\n"
$sheader=$sheader."X-Mailer:PHP/".phpversion()."\n"
$sheader=$sheader."Mime-Version: 1.0\n"
$sheader=$sheader."Content-Type: text/html"
mail($sdestinatario,$ssubject,$shtml,$sheader); 
Este codigo es un codigo que me encotre por hay y el codigo de enviar html en form o algo asi, y el server me esta mandando un mensaje de error:

Cita:
Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing in C:\Domains\xxxx.com.mx\wwwroot\email1.php on line 37
Que puedo hacer?
__________________
Saludos :cool: y Suerte :arriba:
valle del mezquital en el Estado de Hidalgo

Última edición por speedy; 28/10/2005 a las 13:27
  #2 (permalink)  
Antiguo 28/10/2005, 13:28
 
Fecha de Ingreso: julio-2005
Ubicación: Guatemala
Mensajes: 165
Antigüedad: 12 años, 4 meses
Puntos: 0
Donde haces la prueba?

Por lo que veo el código si es correcto, pero puede ser que en el lugar donde lo estas probando no es correcto.

En:
Cita:
Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing in C:\Domains\xxxx.com.mx\wwwroot\email1.php on line 37
veo que estas probando la función en el disco duro, la función mail() solo te funcionara si lo haces en un hosting, a menos que le tengas instalado algo especial a tu computadora y que permita el envio de correos, de lo contrario, solo en el hosting.

Y la otra cosa posible es que la cabecera este mal armada.

Salu...2!!!
  #3 (permalink)  
Antiguo 28/10/2005, 13:29
 
Fecha de Ingreso: diciembre-2004
Mensajes: 96
Antigüedad: 13 años
Puntos: 0
prueba de esta manera

$shtml = "Formulario enviado\n";
$shtml .= "Nombre: " . $HTTP_POST_VARS["Nombre"] . "\n";
$shtml .= "Email: " . $HTTP_POST_VARS["Email"] . "\n";
$shtml .= "Comentarios: " . $HTTP_POST_VARS["Comentarios"] . "\n";
$sfrom="[email protected]"; //cuenta que envia
$sdestinatario="[email protected]"; //cuenta destino
$ssubject="Formulario PHP"; //subject

mail($sfrom,$ssubject,$shtml,"From:".$sfrom." Reply-To: ".$sfrom." X-Mailer: PHP/".phpversion());


Esto te debe de servir

un Saludo!!
  #4 (permalink)  
Antiguo 28/10/2005, 13:31
 
Fecha de Ingreso: diciembre-2004
Mensajes: 96
Antigüedad: 13 años
Puntos: 0
y tambien puede ser lo que dice bilkarm3
  #5 (permalink)  
Antiguo 28/10/2005, 13:35
Avatar de leoj90
Usuario baneado!
 
Fecha de Ingreso: agosto-2005
Mensajes: 1.365
Antigüedad: 12 años, 4 meses
Puntos: 0
Estas probandolo en tu pc con algun servidor (apache, wamp...) y no tienes un servidor SMTP, x eso da ese error.
  #6 (permalink)  
Antiguo 28/10/2005, 14:04
Avatar de speedy  
Fecha de Ingreso: octubre-2004
Ubicación: México
Mensajes: 127
Antigüedad: 13 años, 2 meses
Puntos: 0
la cabecera

esto es lo que tengo:

Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
$shtml 
"Formulario enviado\n"
$shtml .= "Nombre: " $HTTP_POST_VARS["Nombre"] . "\n"
$shtml .= "Email: " $HTTP_POST_VARS["Email"] . "\n"
$shtml .= "Comentarios: " $HTTP_POST_VARS["Comentarios"] . "\n"
$sfrom="[email protected]"//cuenta que envia 
$sdestinatario="[email protected]"//cuenta destino 
$ssubject="Formulario PHP"//subject 
mail($sfrom,$ssubject,$shtml,"From:".$sfrom." Reply-To: ".$sfrom." X-Mailer: PHP/".phpversion()); 
?> 
</body>
</html>
Esta mal?, por que me dicen en el server que se va a checar pero hay otros clientes mandando mail con php, entonces esta mal este codigo?
__________________
Saludos :cool: y Suerte :arriba:
valle del mezquital en el Estado de Hidalgo
  #7 (permalink)  
Antiguo 28/10/2005, 14:15
Avatar de speedy  
Fecha de Ingreso: octubre-2004
Ubicación: México
Mensajes: 127
Antigüedad: 13 años, 2 meses
Puntos: 0
Estoy desde un server probando y este tiene PHP Version 4.3.10

osea: http://xxxx.com.mx/email1.php
__________________
Saludos :cool: y Suerte :arriba:
valle del mezquital en el Estado de Hidalgo
  #8 (permalink)  
Antiguo 28/10/2005, 17:56
Avatar de DvD AdN  
Fecha de Ingreso: mayo-2005
Ubicación: Frente al monitor
Mensajes: 610
Antigüedad: 12 años, 7 meses
Puntos: 0
Si tu server esta en Windows al final de cada cabecera agrega \r\n, así:

Código PHP:
"From: $sfrom\r\n Reply-To: $sfrom\r\n X-Mailer: PHP phpversion() \r\n 
Si es Unix agrega \n y si es Mac agrega \r y si es Windows, pues ya dije, agrega \r\n

__________________
Keep f***ing learning
Ask for f***ing help.
Use f***ing spell check.
Think about all the f***ing possibilities.
  #9 (permalink)  
Antiguo 31/10/2005, 06:15
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 DvD AdN
Si tu server esta en Windows al final de cada cabecera agrega \r\n, así:

Código PHP:
"From: $sfrom\r\n Reply-To: $sfrom\r\n X-Mailer: PHP phpversion() \r\n 
Si es Unix agrega \n y si es Mac agrega \r y si es Windows, pues ya dije, agrega \r\n

Sobre todo .. el espacio entre From: .. y la concatenación con tu $variable .. sino queda algo tipo:

From:[email protected]

y debe ser:

From: [email protected]

Un saludo,
  #10 (permalink)  
Antiguo 31/10/2005, 11:42
Avatar de speedy  
Fecha de Ingreso: octubre-2004
Ubicación: México
Mensajes: 127
Antigüedad: 13 años, 2 meses
Puntos: 0
hola gracias a los dos por ayudarme, mi codigo actual de acuerdo a sus observaciones es:

Código PHP:
<?php
$shtml 
"Formulario enviado\n "
$shtml .= "Nombre: " $HTTP_POST_VARS["Nombre"] . "\r\n"
$shtml .= "Email: " $HTTP_POST_VARS["Email"] . "\r\n"
$shtml .= "Comentarios: " $HTTP_POST_VARS["Comentarios"] . "\r\n"
$sfrom="[email protected] "//cuenta que envia 
$sdestinatario="[email protected] "//cuenta destino 
$ssubject="Formulario PHP "//subject 
mail($sfrom,$ssubject,$shtml,"From: ".$sfrom."\r\n Reply-To: ".$sfrom."\r\n X-Mailer: PHP/ ".phpversion());" \r\n" 
?>
Pero siguie el error, lo intente con lo siguiente:

mail($sfrom \r\n,$ssubject \r\n,$shtml \r\n,"From: ".$sfrom\r\n. " Reply-To: ".$sfrom.\r\n" X-Mailer: PHP/ ".phpversion()\r\n);

pero me sale este error:
Cita:
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in C:\Domains\xxxx.com.mx\wwwroot\email1.php on line 17
Que hago
__________________
Saludos :cool: y Suerte :arriba:
valle del mezquital en el Estado de Hidalgo

Última edición por speedy; 31/10/2005 a las 17:00
  #11 (permalink)  
Antiguo 31/10/2005, 11:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Este tipo de cosas ..

$ssubject \r\n

No puedes hacerlo .. \r\n es una "cadena" cara a PHP .. así que entre comillas debe estar y concatenada como si fuese otro tipo de cadena cualquiera:

$ssubject."\r\n"

Y así con el resto.

Un saludo,
  #12 (permalink)  
Antiguo 31/10/2005, 13:20
Avatar de speedy  
Fecha de Ingreso: octubre-2004
Ubicación: México
Mensajes: 127
Antigüedad: 13 años, 2 meses
Puntos: 0
Hola Cluster, gracias por contestar, ya hice los cambios como me comentaste y me sale otro error:

Cita:
Parse error: parse error in C:\Domains\ahoraen.com.mx\wwwroot\email1.php on line 17
en este linea tengo:

Código PHP:
mail($sfrom " \r\n",$ssubject " \r\n",$shtml " \r\n","From: ".$sfrom" \r\n"" Reply-To: ".$sfrom." \r\n"" X-Mailer: PHP/ ".phpversion()" \r\n"); 
Y ahora que ???
__________________
Saludos :cool: y Suerte :arriba:
valle del mezquital en el Estado de Hidalgo
  #13 (permalink)  
Antiguo 31/10/2005, 13:36
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 13 años, 6 meses
Puntos: 2
Te faltaba concatenar muchas de las cadenas:
Código PHP:
mail("$sfrom \r\n","$ssubject \r\n","$shtml \r\n","From: $sfrom \r\n Reply-To: $sfrom \r\n X-Mailer: PHP/ ".phpversion()." \r\n"); 
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #14 (permalink)  
Antiguo 31/10/2005, 16:59
Avatar de speedy  
Fecha de Ingreso: octubre-2004
Ubicación: México
Mensajes: 127
Antigüedad: 13 años, 2 meses
Puntos: 0
Hola living, gracias por responder ya lo hice como me dijiste y aun sigue este error:

Cita:
Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing in C:\Domains\xxxx.com.mx\wwwroot\email1.php on line 16
Que esta mal?, sigue siendo la cabecera, que falta, que es lo que esta mal ahora

el codigo que tengo es el siguiente:

Código PHP:
$shtml "Formulario enviado\n "
$shtml .= "Nombre: " $HTTP_POST_VARS["Nombre"] . "\r\n"
$shtml .= "Email: " $HTTP_POST_VARS["Email"] . "\r\n"
$shtml .= "Comentarios: " $HTTP_POST_VARS["Comentarios"] . "\r\n"
$sfrom="[email protected] "//cuenta que envia 
$sdestinatario="[email protected] "//cuenta destino 
$ssubject="Formulario PHP "//subject 
mail("$sfrom \r\n","$ssubject \r\n","$shtml \r\n","From: $sfrom \r\n Reply-To: $sfrom \r\n X-Mailer: PHP/ ".phpversion()." \r\n"); 
__________________
Saludos :cool: y Suerte :arriba:
valle del mezquital en el Estado de Hidalgo

Última edición por speedy; 31/10/2005 a las 17:04
  #15 (permalink)  
Antiguo 31/10/2005, 18:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Te recomendaría usar los ejemplos textuales de php.net al respecto (uso de mail())

http://www.php.net/manual/en/function.mail.php

Y en su defecto ya que tienes tantos problemas con el uso de las cabeceras y demás .. podrías usar la classe:

PHP Mailer
http://phpmailer.sourceforge.net

Que es una mejora obstensible a mail() de PHP ..

Un saludo,
  #16 (permalink)  
Antiguo 31/10/2005, 19:59
Avatar de jc_moty  
Fecha de Ingreso: septiembre-2005
Ubicación: Usulután, El Salvador
Mensajes: 477
Antigüedad: 12 años, 2 meses
Puntos: 1
Hola, nada mas queria hacer un pekeño comentario; al igual que a speedy a mi la funcion mail(), me daba muchos problemas hasta que buscando por ahi, me tope con lo que recomienda Cluster: la maravillosa clase PHP Mailer, con el uso de esta clase, se acabaron mis dolores de cabeza...probala, no tenes nada que perder, pero si mucho que ganar.

Saludos
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 18:59.