You wouldn’t be able to do that with Jekyll, which is a static site generator. This means that once generated, your site will stay the same until next build.
Doing what you described would require server-side code to be run for the login process and for sending emails. I don’t know how experienced you are with web technologies, but if you don’t know how to use server-side code, I recommend you look at a PHP tutorial, which should be a good starting point.
A fully static option might be to encrypt the secret portions of a page, and use Javascript’s Web Crypto API to decrypt based on a password provided by the user. Web Crypto info: