Send daily automated mails to specific roles programmatically I'm working on a D8 project and I want to send every day an automated mail to all users with a specific role, lets say 'custom admin'. The mail should contain the results of a database query. 

Rules module is not complete yet so I was thinking to use hook_cron.

Is this the right approach or is there a better way to achieve this?

Thank you in advance for any help/idea.
Yes! hook_cron is a good approach. Of course, you also will have to set up the server cron, which will trigger the Drupal one. Or at least that's the cleanest solution. 

Here you can read how to configure cron.

If you don't use an OS cron to trigger, the following use case may appear.
You set the Drupal cron to run each day at 00:00. 

But nobody is browsing the site at 00:00. The next user will come at 6:54 in the morning. By the request the cron will know: oh.. it's 6:54, I should have run the cron at 00:00, so I will run it now.

If the subscribed modules have heavy processes on going, the request for the user could be slow. There is your module, which sending emails (not a big deal) but also the Drupal garbage collector (temporary files, abounded fields etc..) may run by this time. 
If this is the first extra cron hook of your site: don't mind it. It won't change much.