Comunidad de diseño web y desarrollo en internet online

Tengo un problema con PHPMailer

Citar            
MensajeEscrito el 26 Oct 2010 10:09 pm
Hola, tengo una web en Wordpress en la cual he colocado una función que he desarrollado y que además, hace uso de PHPMAILER para enviar un mail con un fichero pdf adjunto. El problema que tengo es que no consigo hacer que me envíe el correo con el pdf, es decir, sin quito la linea en la que adjunto el pdf ¡, el mail se envía correctamente, pero si incluyo el pdf me aparece el siguiente error:

Could not access file: http://miweb.com/wp-content/themes/TEMA/Manual.pdf

El fichero existe, la ruta en el parámetro donde lo adjunto es esta:

http://miweb.com/wp-content/themes/TEMA/Manual.pdf

es correcta, la eh comprobado en el navegador accediendo directamente a ella y el pdf se muestra bien. El pdf tiene permisos 0777.

¿Que esta pasando.

Por Perico19

39 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 26 Oct 2010 10:11 pm
Una cosa que se me olvidaba, el directorio que contiene al pdf tiene permisos 0755.

Por Perico19

39 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 26 Oct 2010 10:56 pm
Por lo que veo estás tratando de descargar un archivo en forma remota en vez de leerlo directamente del sistema de archivo, ¿no será el que el servidor donde se ejecuta PHP no permite conexiones remotas?, ¿intentaste leer el archivo directamente?.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 27 Oct 2010 01:53 pm
Si accedo al archivo directamente desde el navegador con la ruta que tengo puesta en mi función, accedo al archivo sin problemas, pero si lo que quiero es adjuntarlo en un correo entonces me aparece el fallo.

Por Perico19

39 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 27 Oct 2010 04:48 pm
Me refería a leerlo directamente desde el método AddAttachment().

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 28 Oct 2010 03:18 pm
En PHPMAILER se adjunta un fichero de esta manera:

$mail->AddAttachment(ruta_del_fichero, Nombre_del_fichero);

Y así es como lo tengo yo,

Por Perico19

39 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 28 Oct 2010 05:43 pm
Perico19 lo que te esta diciendo DriverOp es que en la ruta_del_fichero debes poner una ruta de servidor no una url. Ejemplo en un servidor en linux (como fedora):

Tienes que poner esta dirección
/var/www/html/tuweb/files/mi_adjunto.pdf
esto no te servirá
http://localhost/tuweb/files/mi_adjunto.pdf

Ahora como te sugiere DriverOp, es posible poner la url. Pero eso solo con algunas funciones para leer archivos y debe configurarse en php que permita leer URL. En verdad no se que funciones usa PHPMailer para leer los archivos, asi que no podria asegurarte que aún cuando configures php para que lea archivos remotos (url) te sirva eso.

Mi sugerencia es que busques como leer archivos remotos y que tienes que hacer para configurarlo en php. Cuando hagas eso, tu descargas el archivo desde la url a tu servidor y cuando lo tengas le das esa dirección a phpmailer.

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 29 Oct 2010 07:12 pm
Esa función en PHPMailer lo que hace es adjuntar a un correo electrónico un fichero, ya sea un .pdf, un .jpg o lo que sea, en mi caso lo que necesito es un .pdf.

La función recibe dos parámetros, unos de ellos es la ruta del fichero que quieres adjuntar y el otro parámetro es el nombre que quieres que tenga ese fichero cuando este adjunto en el correo.

Si comento esa linea para que no se tenga en cuenta, el correo se envía correctamente, ahora bien, si vuelvo a poner esa linea en funcionamiento me sale el siguiente error:

Could not access file: y despues de los dos puntos me indica la ruta que yo le había puesto en el código de la función. Estoy desesperado, he dado mli vueltas, he probado varias ruta y ninguna funciona.

Por Perico19

39 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 29 Oct 2010 07:53 pm

Perico19 escribió:

Could not access file: y despues de los dos puntos me indica la ruta que yo le había puesto en el código de la función. Estoy desesperado, he dado mli vueltas, he probado varias ruta y ninguna funciona.

Por eso te decimos, obviamente con tu configuración actual NO puedes leer urls para adjuntar el archivo. Con tu configuración actual DEBES obligatoriamente poner una dirección del sistema de archivos de tu servidor.

Para que funcione en el parametro ruta_del_fichero debes poner como estas direcciones similares a estas:
en linux: /var/www/miweb/wp-content/themes/TEMA\Manual.pdf
en windows: c:\wamp\www\miweb\wp-content\themes\TEMA\Manual.pdf

esto no funcionará, ya lo sabes porque te da el error:
http://miweb.com/wp-content/themes/TEMA/Manual.pdf
http://localhost/wp-content/themes/TEMA/Manual.pdf


Como te debería funcionar asumiendo que este código esta en un archivo al mismo nivel de wp-content

/root/wp-content/
/root/archivo_donde_esta_este_codigo.php

Código PHP :

// codigo previo
$ruta = dirname(__FILE__). "/wp-content/themes/TEMA/Manual.php";
$mail->AddAttachment($ruta, basename($ruta));


saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.