Per fare quanto richiedi ti serve un supporto lato Server (in ASP, ad esempio), che ti permetta di:
1) far fare all'utente l'upload del file che ha selezionato dal proprio pc
2) configurare un messaggio di posta che raccolga i dati della form (se ci sono)
3) allegare a tale messaggio di posta il file che è stato uploadato
Non c'è bisogno di database.
Io l'ho fatto normalmente diverse volte usando ASP, e penso che si possa fare benissimo anche in PHP. Devi soltanto avere un supporto lato server e conoscere uno di questi linguaggi.