W IndentityController przekodowałbym żeby nie zmieniało adresu e-mail lecz wysyłało maila. Można wykorzystać funkcja Mail::Send i zrobić własny szablon maila. Należałoby zrobić jakiśeś drobne szyfrowanie na podstawie nowego adresu e-mail i wysłać zaszyfrowany kod, nowy e-mail na stary adres oraz wygenerować link np. domena.pl/index.php?controller=IndentityController&kod=asdfsfsafevd&mail=adres%40domena.pl . I w funkcji postProcess napisać kod, który zaktualizuje e-mail jesli po zaszyfrowaniu adresu e-mail bedzie taki sam jak kod.
Edit History
W IndentityController przekodowałbym żeby nie zmieniało adresu e-mail lecz wysyłało maila. Można wykorzystać funkcja Mail::Send i zrobić własny szablon maila. Należałoby zrobić jakiśeś drobne szyfrowanie na podstawie nowego adresu e-mail i wysłać zaszyfrowany kod, nowy e-mail na stary adres oraz wygenerować link np. domena.pl/index.php?controller=IndentityController&kod=asdfsfsafevd . I w funkcji postProcess napisać kod, który zaktualizuje e-mail jesli po rozszyfrowaniu kodu bedzie prawidłowy adres.