Beh certo perché il campo mail della tua scruct è dichiarato come tipo MAIL, e questo a sua volta è un char (stando alla typedef che hai scritto), quindi è chiaro che poi il programma vada in crash se provi ad assegnare a questo campo un'intera stringa (l'indirizzo e-mail).
Questo è un errore abbastanza evidente che ho notato senza compilare, poi se ce ne sono altri caso mai ricontrollo dopo che hai corretto questo.
EDIT: ah, stessa cosa anche per nome e cognome... è strano che non ti dia problemi anche su quelli.