Users receive duplicate email notifications for the same task, or receive email notifications for tasks which have already been marked as completed. This also applies to digest emails in SBS 4.0.
Type of Problem:
Either there are multiple SBS instances running on the same application server or a development instance is running with a copy of the same database as the production server. Another possible cause is if the production server nodes have become unclustered. Check the Cache settings page in the Admin Console for a summary of your cluster's status.
Task reminders are processed and delivered from a nightly batch process that runs individually on each cluster. If you have multiple instances of SBS pointing to the same database running on the same machine, your users will receive one notification per instance.
Another problem can arise if you restore a copy of the production server's database to a development environment. Notifications will be triggered from each instance, and users may continue to receive notifications for overdue tasks from one server if the tasks are not marked as complete on both instances.
Diagnosing this issue:
The most conclusive way to check for this problem is to look at the mail headers. In Outlook/Entourage, you can examine a mail header by going to Message > Internet Headers. The SMTP server spec (RFC 822) requires that all emails have a unique "Message-ID" attribute. Examine the mail header and look for that attribute. You may find something like this:
In this case, the message content may appear identical to the end user, but the Message-ID attribute shows that they have a different ID and originate from different servers. Here we can see that Message 1 originates from a UAT server (jiveuat.example.com) while Message 2 originates from the prod server (jiveprod.example.com).
Ensure that only one SBS application is running per dataset. Sometimes this can happen if you have deployed multiple applications to the same Tomcat server. Check your webapps folder to ensure that there is only one app per server. You may find that you have one instance running on port 8080 and an identical instance pointing at the same database running at 8090.
Another common cause is a staging or development server which is running with an exact copy of the production database. In this case, either disable the SMTP server connection in the staging server's admin console, or run a database query to replace users' email addresses with a dummy value such as firstname.lastname@example.org.