Quindi l'host cambia con il variare dell'inviatario se ho ben capito no?
Una email, per essere spedita, deve passare da un server smtp (e tra le altre cose, in certi casi questo richiede pure l'autentificazione), e i server smtp che non permettono il relay (cioe' tutti, tranne quelli che richiedono l'autentificazione o che sono malconfigurati) cambiano a seconda del provider della connettivita'. Quello che uso io a te non funzionerebbe, e viceversa.
L'host è il server smtp (out.alice.it per Alice, smtp.libero.it per Libero e così via) ognuno ha il suo valore e lo trovi nelle specifiche di configurazione della mail.
Se io e te usiamo lo stesso provider per la posta il valore dell'host sarà uguale, altrimenti no.
Diverso è il discorso per login e password che, come dici tu, alcuni server li richiedono. Ci sono sicuramente i valori da assegnare che io non usavo, ma potrebbero essere:
.login = VALORE_LOGIN
.password = VALORE_PASSWORD
o qualcosa di simile.
Siccome la mia gestione era pensata per una serie di utenti avevo creato una form dove inserire tutti i parametri di configurazione (compreso la porta che ti avevo già segnato ma potrebbe variare da server a server). Quando mandavo la mail andavo a leggere in locale i parametri relativi all'utente che stava usando il programma e valorizzavo come da configurazione personalizzata.