Foros del Web » Programando para Internet » PHP »

phpmailer no va ni la de tres!

Estas en el tema de phpmailer no va ni la de tres! en el foro de PHP en Foros del Web. Buenas. Llevo tiempo dándole vueltas a este código que, combinado con las clases del phpmailer utilizo para enviar un archivo adjunto al email, pero no ...
  #1 (permalink)  
Antiguo 13/03/2006, 09:29
Avatar de sciffo  
Fecha de Ingreso: abril-2002
Mensajes: 41
Antigüedad: 15 años, 7 meses
Puntos: 2
phpmailer no va ni la de tres!

Buenas.
Llevo tiempo dándole vueltas a este código que, combinado con las clases del phpmailer utilizo para enviar un archivo adjunto al email, pero no hay manera de que se adjute el archivo "nuevo.doc" que tengo en el servidor en la misma carpeta que el resto de archivos.

El código es este:
Código:
<?
require("class.phpmailer.php");
$mail = new phpmailer();
$mail->From     = "[email protected]";
$mail->FromName = "Web xxxxxxxxxxx";
$mail->Host     = "smtp.xxxxxxxxxxxx.com";
$mail->Mailer   = "smtp";
$mail->Subject  = "Test";

$archivo = "nuevo.doc";
$archivo_name = "nuevo.doc";
$mail->AddAttachment($archivo, $archivo_name); 

// HTML body
    $body  = "contenido del email";

    $mail->Body    = $body;
    $mail->AddAddress($_POST["email"], $_POST["nombre"]);

    if(!$mail->Send())
        echo "Ha sucedido un error!";

    // Clear all addresses and attachments for next loop
    $mail->ClearAddresses();
    $mail->ClearAttachments();

?>
Una ayudita, please
__________________
Hay una gran diferencia entre conocer el camino y andar el camino
  #2 (permalink)  
Antiguo 13/03/2006, 09:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero . .vamos a ver:

¿ tu e-mail se envia correctamente al destinatario pero no ves el archivo adjunto?

Por qué no indicas en $archivo_name la ruta absoluta completa de tu archivo en el servidor? .. (así descartas cualquier problema sobre ese tema).

Un saludo,
  #3 (permalink)  
Antiguo 14/03/2006, 02:09
Avatar de sciffo  
Fecha de Ingreso: abril-2002
Mensajes: 41
Antigüedad: 15 años, 7 meses
Puntos: 2
Exacto, el email llega sin problemas, pero sin noticias del archivo adjunto...
Probé lo que me comentaste de la ruta absoluta y nada, sigue igual.
__________________
Hay una gran diferencia entre conocer el camino y andar el camino
  #4 (permalink)  
Antiguo 14/03/2006, 10:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Como una comprobación final .. prueba a poner cualquier cosa en el:

$mail->AddAttachment($archivo, $archivo_name);


a ver si generas algún error (y así descartar que "no estes" viendo los errores).

También sería recomendable usar (aunque esto no influya finalmente así lo uso y así puedes ver en los ejemplos de PHPMailer que lo usa .. ) la definición de adjuntar el archivo:

$mail->AddAttachment($archivo, $archivo_name);

antes de usar el $mail->send() ...

En definitiva lo que ando buscando es un "mensaje" de error que me indique que problema puede existir (en el código PHP .. o así descartarlo 100% y ver como tu servidor SMTP está enviando el e-mail .. etc).

Un saludo,
  #5 (permalink)  
Antiguo 15/03/2006, 11:54
Avatar de sciffo  
Fecha de Ingreso: abril-2002
Mensajes: 41
Antigüedad: 15 años, 7 meses
Puntos: 2
Realizando una de tantas pruebas, me ocurre una cosa un poco extraña.
Pongo el mismo código que al principio, cambiando un pas de cosillas:
Código PHP:
<?
require("class.phpmailer.php");
$mail = new phpmailer();
$mail->From     "[email protected]";
$mail->FromName "Web xxxxxxxxxxx";
$mail->Host     "smtp.xxxxxxxxxxxx.com";
$mail->Mailer   "smtp";
$mail->Subject  "Test";

$archivo "/rutaabsolutadelservidor/nuevo.doc";
$archivo_name "nuevo";
$mail->AddAttachment($archivo$archivo_name); 

// HTML body
    
$body  "contenido del email";

    
$mail->Body    $body;
    
$mail->AddAddress($_POST["email"], $_POST["nombre"]);

    if(!
$mail->Send())
        echo 
"Ha sucedido un error!";

    
// Clear all addresses and attachments for next loop
    
$mail->ClearAddresses();
    
$mail->ClearAttachments();

?>
con esta configuración se envia el email con el documento adjunto de esta manera "nuevo.dat".
Entonces pruebo de poner $archivo_name="nuevo.doc" y se adjunta el archivo!!!
Otro dato curioso es que el archivo que si llega (el nuevo.dat), lo renombro localmente a "nuevo.doc" y lo leo perfectamente.
Creo que estoy cerca pero no sé por donde continuar...
__________________
Hay una gran diferencia entre conocer el camino y andar el camino
  #6 (permalink)  
Antiguo 16/03/2006, 13:19
Avatar de sciffo  
Fecha de Ingreso: abril-2002
Mensajes: 41
Antigüedad: 15 años, 7 meses
Puntos: 2


me acabo de dar cuenta que el código es correcto y el problema lo tengo con mi antivirus, que no me deja recibir archivos adjuntos en formato .doc
Esto es de juzgado...

En fin, muchas gracias Cluster por tus respuestas!!!
__________________
Hay una gran diferencia entre conocer el camino y andar el camino
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 09:21.