Когда для CakePHP «Security.level» задано значение «высокий» или «средний», CakePHP устанавливает PHP session.referer_check в качестве имени хоста вашего сайта.
Однако, когда пользователь щелкает ссылку внутри почтового клиента, проверка проверки реферера не проходит, и сеанс помечается как недействительный.
Что вам нужно сделать, это следующее:
1) Установите для CakePHP «Security.level» значение «low»
OR
2) Укажите пользовательскую конфигурацию сеанса для CakePHP, как показано здесь , установив для session.referer_check пустую строку, таким образом:
ini_set('session.referer_check', '');