We offer several web feeds that enable users to monitor updates on our web site. However, some users may still prefer the old way of monitoring updates via email. For those users, you may want to implement an email subscription system into the application. For example, you can let users receive notifications when a bookmark is posted by a friend, or when a bookmark is posted under a certain tag. Furthermore, you can group such notifications and send them in batches to avoid sending large numbers of emails.
The implementation details of this feature greatly depend on how you want it to work. It can be as simple as a data model that stores the tags that each user is subscribed to. It would have a loop that goes through all users who are subscribed to a particular tag and sends notifications to them when a bookmark is posted under this tag. This approach, however, is too basic and generates a lot of emails. A more sophisticated approach may involve storing notifications in...