
As a side-note if you happen to support uncommon symbols like ! # $ % * + - in your system don't forget to urlencode() the email before you add it in the confirmation link. Also as @Tarek suggested make sure this method doesn't touch any auth middleware because the user isn't logged in.