mmunoza
Analizando la fracción de código que has posteado, creo que el problema está ubicado en el if previo al AddAttachment.
Si te fijas, estás verificando $_FILES['filename'], que es válido si has Posteado (y subido) un archivo en el campo filename.
Cambialo por
Código PHP:
if( is_file($ruta) )
{
$mail->AddAttachment($ruta,$nombre);
}
Saludos