Allora, adesso non ho tempo di verificare, comunque i casi sono due:
1) se user e password possono essere indicate attraverso dei normali header, si può usare la funzione mail() aggiungendoli al parametro degli header;
2) se invece user e password devono essere indicati in fase di connessione, allora la funzione mail() non è utilizzabile e ci vuole un socket. Potresti usare phpmailer