puoi utilizzare js o un linguaggio lato server. Ti consiglio il secondo, poiché con js i dati del form verranno inviati utilizzando il programma di posta predefinito dell'utente. Se vai lato server, non devi "sottostare" al computer del tuo visitatore.
Per il codice, prova a vedere nella sezione script di html.it. Per la questione degli allegati, forse è meglio che ti rivolgi alla sezione opportuna una volta deciso che linguaggio utilizzare.
Ricordati, se operi lato server, di verificare con il tuo hoster quale linguaggio hai supportato.

Cyà