iBaffiPro ha scritto:
Non ho creato la registrazione tramite email perché non avendo un server fisico ho pensato che sarebbe stato impossibile verificare l'invio delle email con i relativi link.
E' giusto quello che ho scritto oppure con IntelliJ/Spring posso inviare un'email ad una casella reale?
Se decido di aggiungere l'email in fase di registrazione devo prima mettere su un server, giusto?
Ma no, che stai dicendo ....
Allora: innanzitutto se vuoi gestire l'invio di una email per la conferma registrazione devi avere dei campi in più nella tabella utenti. Sicuramente serve un campo che tiene un codice numerico/alfanumerico bello lungo e generato a caso tipo 4SF9QM7QPUYYZZSH88YNV2ZLGLD58B. E poi anche una data di registrazione (dovresti già averla messa) per fare un controllo a livello temporale.
La email dovrà contenere un link del tipo es.:
http://nomehostblabla/conferma-registrazione/4SF9QM7QPUYYZZSH88YNV2ZLGLD58B
La email ovviamente la devi spedire all'utente che si sta registrando. Su un ambiente di "sviluppo" (es. tua macchina a casa) dovrai usare il SMTP che usi normalmente per la tua posta (quello del tuo provider, tipicamente). Su un hosting reale, è l'hosting stesso che ti fornisce un server SMTP (se previsto dal pacchetto) di cui ti dà le credenziali. Generalmente sugli hosting il SMTP è o sul localhost (dove già gira l'applicazione) o comunque su una macchina che è nella rete locale interna all'hosting. E' improbabile che sia "fuori" dall'hosting.
Su sviluppo in realtà non è realmente necessario che mandi la email (es. a te), puoi farlo per prova ovviamente. Ma banalmente basta che logghi a livello DEBUG quel codice lungo e poi componi tu l'url nel browser verso la tua webapp sul localhost.
Pertanto è ovvio che devi avere configurazioni differenti tra "sviluppo" e "produzione" ma a questo
dovresti averci GIÀ pensato ... altrimenti non ci siamo ..
Riguardo la email, la devi creare in modo molto accurato. Come contenuto, header interni della email, oggetto, from, ecc.... per limitare il più possibile l'eventualità che venga considerata Spam. Tipo: se non metti un
from, è altamente probabile che un anti-spam di un utente te la blocca subito.