Message of the day:
Security release 4.4.4 is out. Changelog: https://github.com/silverstripe/silverstripe-framework/blob/4/docs/en/04_Changelogs/4.4.4.md
SilverStripe 4 related information and questions.
I haven't used any of the SS-specific solutions, so I can't really advise on that. I generally just hook up to a mail provider so they can deal with deliverability, subsciption management, etc.
Based on the timelines I'm getting, I can postpone thinking about manually setting up permissions, but I need to set up a mailing list
There are mailing list modules available, or you can just link to a proper bulk-mailing service like Mailchimp, etc.
Silverstripe stores all the member information, along with their email address. You'll presumably need to add some consent-gathering to the registration form too.
I have a slightly different question based on requirement updates I'm getting - is it possible to use SilverStripe to set up a mailing list based on when they register for access to the site?
There are other ways to do it i the controller too: https://docs.silverstripe.org/en/4/developer_guides/controllers/access_control/
A lot depends on the best fit for your particular application
If you want to do the latter, you can check the permissions any way you want (eg. is the user logged in, are they in a specific group, etc.) and if not, use
Security::permissionFailure() to trigger the login process
So, your options would be:
1) Manually generate the menu
2) Don't use the permissions system in the pages to deal with the access, and check in the
init() method of the specific PageController (You'd need to split out the protected pages from the non-protected)