Foros del Web » Programando para Internet » PHP »

¿como enviar archivos adjuntos con la función mail? urgenteeeee

Estas en el tema de ¿como enviar archivos adjuntos con la función mail? urgenteeeee en el foro de PHP en Foros del Web. Hola, alguien, me podría indicar como se envian archivos adjuntos a un correo con la función mail? Se que existe la función phpmailer, pero me ...
  #1 (permalink)  
Antiguo 08/07/2004, 05:57
 
Fecha de Ingreso: junio-2004
Mensajes: 101
Antigüedad: 13 años, 6 meses
Puntos: 0
¿como enviar archivos adjuntos con la función mail? urgenteeeee

Hola, alguien, me podría indicar como se envian archivos adjuntos a un correo con la función mail? Se que existe la función phpmailer, pero me parece muy complicada. Además acabo de empezar con el php y voy muy perdido.

Hasta ahora, lo que tengo puesto son los campos del formulario, y el siguiente código php, para agregar los campos al cuerpo.


$cuerpo = "Formulario enviado\n";
$cuerpo .= "Nombre: " . $HTTP_POST_VARS["nombre"] . "\n";
$cuerpo .= "Apellidos: " . $HTTP_POST_VARS["apellidos"] . "\n";
$cuerpo .= "Dirección: " . $HTTP_POST_VARS["direccion"] . "\n";
$cuerpo .= "Teléfono: " . $HTTP_POST_VARS["telefono"] . "\n";
$cuerpo .= "Fax " . $HTTP_POST_VARS["fax"] . "\n";
$cuerpo .= "Email " . $HTTP_POST_VARS["email"] . "\n";
$cuerpo .= "Observaciones: " . $HTTP_POST_VARS["observaciones"] . "\n";

Mi pregunta es, como se podría agregar el archivo adjunto al cuerpo??
El form declare el enctype como : multipart/form-data

También quería saber como se comprueba que el archivo se ha adjuntado, es decir que al igual que existen funciones como is_empty para texto y tal, si existe alguna función parecida para ficheros.

Gracias
  #2 (permalink)  
Antiguo 08/07/2004, 13:17
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Por mi parte ya te comenté en otro mensaje ...

Te hice el comentario y como veras ahí mismo no sé por qué no quieres usar una classe (PHP Mailer) que ya se inventó para eso (es gratuita). No es una "función" sino una classe (objeto) .. se usa tal cual veras en los ejemplos de su tutorial. Pero bueno .. en la documentación de mail() tienes ejemplos de "funciones" para enviar el e-mail con un archivo adjunto.

--------

Cita:
También quería saber como se comprueba que el archivo se ha adjuntado, es decir que al igual que existen funciones como is_empty para texto y tal, si existe alguna función parecida para ficheros.
Parte del proceso que debes hacer para ajuntar tu e-mail es:
1) componer las cabeceras HTTP adecuadas (protocolo HTTP).
2) abrir tu archivo y llevarlo a una variabel (fopen() o funciones similares) y aplicar algunas otras funciones (codificarlo en base64 entre otras cosas ..)

Eso sería como funciona el tema de "componer un e-mail multiparte" para poder ajuntar tu archivo .. pero fijate que en el e-mail en el fondo tu "archivo binario" viaja en formato "texto plano" pero .. codificado de cierta forma y con la "indicación" de donde y que "parte" del e-mail es el archivo en sí.

Todo esto como "cultura general" está muy bien saberlo .. pero en la práctica nunca lo haras "a mano" y menos lo haras constantemente. Por mi parte recomiendo "PHP Mailer" por qué es una classe de las más completas para enviar e-mails desde PHP de forma cómoda y con multitud de opciones.

Tienes que saber también que el archivo que "adjuntas" ha de estar en el servidor para poder enviarlo .. Directamente no se peude ajuntar un e-mail que está en el clienet (PC) de tu usuario que usa tu formualrio para componer tu e-mail, así que si no tienes ese archivo ya en tu servidor .. tendrás que "subirlo" y eso lo haras con las técnicas de "Upload" de PHP:

http://www.php.net/manual/en/features.file-upload.php

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 00:37.