Drupal 7 Rules delay sending or group emails to users

1.2k views Asked by At

I have a drupal site which will include a user forum. As it is a new site, I have a number of volunteers who are prepared to 'seed' the forum and respond to user posts at least until the system becomes self-sustaining.

Using Rules, I have managed to get the site to email forum moderators whenever a post is made by a non-moderator. Sadly, I can't get Rules to wait to send the emails so it is conceivable that my kind volunteers will get an inbox full of emails from my site. Hardly likely to engender happiness!

What I need is to be able to send an email only if the intended recipient has not logged on since the last email was sent OR it is the first event of the day. Ideally I'd also like each user to receive only 2 emails per day.

Is this possible using just Rules?

Is there a non-custom system to do this? - is there a better module than Rules for this kind of notification?

If this requires a custom PHP page, any hints as to starting points would be appreciated. I can handle writing PHP but I'm pretty new to Drupal.

2

There are 2 answers

0
Shushu On

You can combine several rules to make this happen.

  • Add a rule when a user logged in, and mark his login date
  • Get the list of users to send to using a View that take this login info into consideration
  • Set another value for each user you send email to, so you won't send him another mail in the same day (for example)

I am not saying it is a simple solution, but it can be done, it will work, and I believe all of it can be done just with Drupal/Rules knowledge.

If you need further help, I will be happy to support as needed.

3
TheodorosPloumis On

My proposals should be:

1) Rules scheduler module (it comes with rules)

2) Queue Email module

3) There is also Comment Interval module but it is for comments (answers).