Foros del Web » Programando para Internet » PHP »

funcion mail

Estas en el tema de funcion mail en el foro de PHP en Foros del Web. Hola, tengo un problema con la funcion mail(): La cosa es que me sale al ejecutar el siguiente warning: Warning: mail(): "sendmail_from" not set in ...
  #1 (permalink)  
Antiguo 27/02/2005, 11:05
 
Fecha de Ingreso: noviembre-2004
Mensajes: 9
Antigüedad: 19 años, 5 meses
Puntos: 0
funcion mail

Hola, tengo un problema con la funcion mail():
La cosa es que me sale al ejecutar el siguiente warning:

Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing in C:\wamp\www\pruebas\subearchivo.php on line 29

Y el problema es que lo he probado todo y he estado buscando soluciones. Lo he intentando poniendo un mail ficticio en php.ini para sendmail_from y he intentado varias formas de completar la funcion mail() con las cabeceras, pero siempre me sale el problemas este.
Os dejo el codigo php que he puesto a ver si escribo algo mal, pero lo he revisado varias veces, asi que no se.Ah, otra cosa, lo he probado tanto en localhost como en un servidor, y ninguna de las dos, siempre me sale el mismo problema:

Código PHP:
//tomo el valor de un elemento de tipo texto del formulario
$cadenatexto $_POST["cadenatexto"];
echo 
"El autor de la foto es: " $cadenatexto "<br><br>";

//datos del arhivo
$nombre_archivo $HTTP_POST_FILES['userfile']['name'];
$tamano_archivo $HTTP_POST_FILES['userfile']['size'];

//datos del e-mail
$destinatario "[email protected]";
$asunto "ENVIO AUTOMATICO DE FOTOS";
$desde "From: [email protected]"
//compruebo si las características del archivo son las que deseo
if (!((strpos($nombre_archivo"gif")) || (strpos($nombre_archivo"jpg")) || (strpos($nombre_archivo"bmp")) || (strpos($nombre_archivo"jpeg")))){
    echo 
"El mensaje no ha sido enviado. Motivo: El archivo no tiene la extensión esperada, o estas están en mayúsculas (bmp, jpg, jpeg o gif)";
}else if (
$tamano_archivo 1048576){
    echo 
"El mensaje no ha sido enviado. Motivo: El archivo supera el tamaño máximo (1 MByte)";
}else{
        
$sent=mail($destinatario,$asunto,$asunto,$desde);
        if (
$sent == TRUE){
        echo 
"El mensaje ha sido enviado correctamtente";
        }

  #2 (permalink)  
Antiguo 27/02/2005, 14:34
Avatar de lalogrosz  
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 339
Antigüedad: 21 años, 11 meses
Puntos: 6
Sacale el "FROM:" de $desde y dejale solo el mail. Tenes problemas de SMTP ? fijate que sea correcto en el php.ini
__________________
"Vivir....solo cuesta Vida"
  #3 (permalink)  
Antiguo 28/02/2005, 08:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
La definición de tu función mail() no es correcta:
$sent=mail($destinatario,$asunto,$asunto,$desde);

ese "$desde" en realidad no es sólo el "FROM: ..." sino -todas- las cabeceras correspondientes a la definición de un e-mail .. cosas como el "desde" (FROM) .. o que el e-mail sea en HTML .. etc ...

Revisa la documentación oficial de PHP sobre la función mail() o los ejemplos de las FAQ's de este foro PHP ...

www.php.net/mail

Por lo demás .. no sé si usaras un servidor de correo própio instalado en tu servidor (SMTP) .. pero necesitas uno instalado en ese (o red) servidor y que tu php.ini (sección: SMTP = .....) apunte a la IP del mismo (si es el mismo PC el que corre PHP Y el servidor SMTP puedes usar localhost como "IP").

Un saludo,

Un saludo,
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 11:28.