Non è difficile.
Analizzando il problema, hai 3 campi da modificare, ciascuno dei quali ha un lista di valori assumibili.
i campi sono nome-cognome-dominio
Pensa al sistema numerico decimale: è strutturato in modo da formare ogni combinazione possibile delle cifre. Per ottenere ogni combinazione possibile dei valori {0,1,2,3,4,5,6,7,8,9}
in 3 campi ti basterebbe inizializzare un numero a 0 e aumentarlo di 1 fino a 999.
Fai al stessa cosa con i tuoi tre campi.
Inizializzi a 0 (prendi il primo valore in lista per ognuno dei tre campi) e aumenti di 1.
Per aumentare di 1 passi al prossimo elemento nella lista del campo più a destra (come nei numeri, in realtà non devi seguire necessariamente lo stesso ordine, ma lo facciamo per precisione e comodità).
Se il prossimo valore in lista per il campo più a destra fosse successivo all'ultimo (ovvero il valore attuale del campo è già l'ultimo della lista), riporti questo campo al suo valore iniziale e aumenti di 1 quello del campo più a sinistra.

Stesso ragionamento per la funzione "aumenta di uno" lo applichi al campo più a sinistra appena aumentato.

Quando tutti e tre i campi hanno raggiunto l'ultimo valore nella loro lista-valori hai esaurito le combinazioni possibili.