Foros del Web » Programando para Internet » PHP »

phpmailer envía el e-mail desde formulario pero no el archivo adjunto

Estas en el tema de phpmailer envía el e-mail desde formulario pero no el archivo adjunto en el foro de PHP en Foros del Web. ¡Hola! Tengo una página con un formulario para que remitan un archivo a una dirección de correo electrónico (un curriculum, concretamente). En local, phpmailer me ...
  #1 (permalink)  
Antiguo 15/06/2004, 11:30
Avatar de Ausiàs  
Fecha de Ingreso: mayo-2004
Ubicación: País Valenciano
Mensajes: 78
Antigüedad: 19 años, 10 meses
Puntos: 0
phpmailer envía el e-mail desde formulario pero no el archivo adjunto

¡Hola!

Tengo una página con un formulario para que remitan un archivo a una dirección de correo electrónico (un curriculum, concretamente). En local, phpmailer me envía el mensaje y el adjunto correctamente. Sin embargo, ya en el servidor remoto, sólo remite el texto.

He hecho pruebas en ambos sitios con echo $_FILES[archivo][name] y en los dos casos me sale un directorio con un archivo *.tmp, así que, teóricamente, debería funcionar.

¿Qué hago mal?

Muchas gracias.
__________________
La web de mi cortometraje:
http://www.perdiendoeljuicio.com
  #2 (permalink)  
Antiguo 15/06/2004, 11:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Pero .. para PHP Mailer .. que ruta de archivo le indicas en su método para adjuntar el archivo?

$_FILES['archivo']['tmp_name'] .. ? directamente o lo mueves con move_uploaded_file() o copy() ...

Te lo menciono por qué no todo servidor (por configuración de open_base_dir .. safe_mode y otras directivas de su php.ini) deja aceder a un archivo de esa forma "directa" .. En esos casos hay que mover el archivo con move_uploaded_file() a algún directorio de tu sitio -antes- de "atacharlo" con PHP Mailer, en ese caso, la ruta que le daras será la que tenga en su destino definitivo y . .si al final del envio del e-mail no requieres ese archivo en el servidor, lo borras con unlink()

De todas formas, todo esto te debería dar un error .. pero si no lo visualizas no veras que es por esos problemas.

PHP Mailer tiene un metodo/variable para ver los mensajes de error cuando envias un e-mail (como no veo el código que usas no sé si lo estás usando ya ..?)

Un saludo,
  #3 (permalink)  
Antiguo 15/06/2004, 11:52
Avatar de Ausiàs  
Fecha de Ingreso: mayo-2004
Ubicación: País Valenciano
Mensajes: 78
Antigüedad: 19 años, 10 meses
Puntos: 0
Éste es el código

require ("class.phpmailer.php");
$mail = new PHPmailer();
$mail->IsSMTP();
$mail->Host = "****.***.****";
$mail->From = "****@*****";
$mail->FromName = "WEB ****.**";
$mail->AddAddress("***@***.**");
$mail->Subject = "CURRICULUM des de *****";
$mail->Body="Aquí va el texto que recibimos"
$mail->AddAttachment($_FILES[arxiu][tmp_name],$_FILES[arxiu][name]);
------------------------------
Miraré lo que me dices de todas maneras cuando llegue mañana, que ya acabó mi jornada laboral. :P

Gracias por la atención.
__________________
La web de mi cortometraje:
http://www.perdiendoeljuicio.com

Última edición por Ausiàs; 15/06/2004 a las 11:54
  #4 (permalink)  
Antiguo 16/06/2004, 02:49
Avatar de Ausiàs  
Fecha de Ingreso: mayo-2004
Ubicación: País Valenciano
Mensajes: 78
Antigüedad: 19 años, 10 meses
Puntos: 0
¡Sí, señor! :D El método que comentas funciona. ¡Gracias por la ayuda! En este foro, estoy resolviendo muchísimas dudas.

Luego, lo único que pasó es que tuve que dar los permisos correspondientes a la carpeta de destino para poder colocar allá el archivo adjunto. Desde esa ubicación, ya puedo realizar la llamada desde phpmailer. Fantástico :D.

¡Gracias!
__________________
La web de mi cortometraje:
http://www.perdiendoeljuicio.com
  #5 (permalink)  
Antiguo 08/07/2004, 04:53
 
Fecha de Ingreso: junio-2004
Mensajes: 101
Antigüedad: 19 años, 9 meses
Puntos: 0
una pregunta, todo esto no se podría realizar con la función mail?

Lo de enviar archivos adjuntos, no se podría realizar con la función mail? Si es así de que manera se podría realizar?

Gracias
  #6 (permalink)  
Antiguo 08/07/2004, 12:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Si, .. adjuntar archivos a un e-mail por la función mail() se podría hacer .. Pero, tendrías que entrar a implementar parte del protocolo HTTP y algunas consideraciones más.

La classe PHP Mailer puede trabajar con la función mail() directamente para efectuar el envio del e-mail (ademas de por servidor SMTP directo y sendmail si lo usas) .. son sus tres modos de funcionamiento. Sólo tienes que indicar cual quieres usar y usar el método adecuado. El caso es que esta classe (sus autores) ya se dieron el trabajo por tí de implementar el protocolo HTTP (lo que haga falta) para esa taréa ademas de otimizarlo.

De todas formas .. si quieres ver como se hace .. revisa los comentarios de los usuarios de la función mail() de PHP .. tienes vários ejemplos para adjuntar archivos (attachments):
http://www.php.net/mail

Un saludo,
  #7 (permalink)  
Antiguo 10/08/2005, 12:45
 
Fecha de Ingreso: octubre-2003
Mensajes: 117
Antigüedad: 20 años, 5 meses
Puntos: 0
Yo he adjuntado un archivo, y efectivamente phpmailer me lo adjunta, y llega a su destino... pero no sé como llamarlo desde el código html..
¿me lo coloca en alguna carpeta?

he puesto esto:

Código PHP:
$mail->AddAttachment("images/activo.gif","""base64""application/octet-stream");
$mail->Body '<br>esto se envio via phpmailer <br><img href="activo.gif">' 
a ver si el código html este mal

Gracias
__________________
www.lsddigital.net
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 04:48.