É possível que o problema esteja na forma como você está anexando o arquivo. Verifique se você está anexando o arquivo corretamente antes de adicionar o cabeçalho 'content-disposition'. Certifique-se de que o arquivo existe no caminho especificado e que você tem permissão para ler o arquivo.
Além disso, você pode tentar usar o método 'add_attachment' em vez de 'add_header' para adicionar o anexo. Ele irá adicionar o anexo e também configurar o cabeçalho 'content-disposition' automaticamente.
Exemplo:
msg.add_attachment(open('nomedofile.pdf', 'rb'), maintype='application', subtype='octet-stream', filename='nomedofile.pdf')
Verifique se está usando as bibliotecas corretas para envio de emails e anexos