I'm using Drupal 7 and I need to send a weekly mail to all users.
I want to use the Rules module to do this. But I couldn't find a Rules Event which allows for this.
How can I implement that?
Below is a blue print of how I would resolve this challenge, without any custom code needed ...
So this is another way to understand/Read this:
On top of that, also note what's mentioned on its project page, ie:
The module also provides a "Day of the week is a" Rules condition, to further restrict actions to being run on specific day(s) of the week, on working days only, or at weekends only.
With that, you should be able to adapt any rule to perform its rules actions only once a week.
As per your "mail to all users" requirement (for which you want to use the Rules module), just create some custom rule to do so. The most straight forward Rules Action to use for this, seems to be "Send an eMail to all users of a selected role", whereas role is just authenticated users.
If however you want more granularity in the set of users to be selected, you could use the Views Rules module instead. for more details on such approach, refer to the Plan b part of my answer to "What's wrong in my rule for sending e-mails using VBO?".