Require Email entry prior to displaying content

I have a client who's requesting that visitors be required to provide their email address before being allowed to access a series of webpages. I've tried a few things but I'm not happy with the results so far.

1) I need to hide or make private a series of pages
2) Collect email address
3) Redirect the visitor to the content pages without a password

With NinjaForms I can collect an email address and redirect to a page. But the page must be public and published thus no real "protection" of the content.

Any ideas?