Ti faccio notare che nel primo tuo post hai scrittoOriginariamente inviato da ipspaolo
Il codice che ho usato è questo:
email=(struct mail*)malloc(sizeof(struct mail));
mentre nell'ultimo hai scritto
email=(struct mail*)malloc(dim*sizeof(struct mail));
Ovviamente sono cose diverse e solo la seconda è corretta.