La funzione mail() di php non prevede l'autenticazione dell'utente al server di posta (SMTP).
Da quanto posso capire, la funzione mail() è prevista solo per inviare da un sistema - tipicamente unix - con un server di posta locale che già ti conosce.
Per inviare da una mail dal tuo server di posta (gmail, aruba, virgilio ...) sia che tu abbia l'installazione di php sul tuo computer, sia che l'abbia su un provider internet come Aruba (questo è il mio caso) la mia soluzione è quella di usare un pacchetto free: PHPMailer (
https://github.com/PHPMailer/PHPMaile).
Facile da installare (basta scaricarlo e metterlo in una directory) .
Quindi nel tuo php metti tutti i parametri del tuo form, i parametri del tuo server di posta (che ti fai dare dal tuo provider), e la userid e password della casella di posta e la mail parte magicamente.
Solo un problema: con le versioni di php > 5 non riesco a farlo funzionare. Quindi apro una richiesta di aiuto nel forum.
spero che sia utile.