Using CiviCRM 4.5.8: It is my understanding that when an email recipient unsubscribes from a message sent (via CiviMail) to a smart group, then that person will be detached from that smart group and will receive no further messages sent to that same smart group. For some reason this is not working for me.
Example: I have GroupA defined as the parent of Subgroup1 and Subgroup1. GroupA itself has no members (a listing of GroupA shows each member with a status of "smart"). All three are defined as mailing groups, and a mailing to GroupA goes to all members of Supgroup1 and Subgroup2, as desired. Each outgoing message contains this HTML code:
To unsubscribe from this mailing list, click <a href="{action.unsubscribe}">here</a>.
When a recipient in Subgroup2 clicks on this link they send an email message to a system-generated address, which is processed (normally, apparently) by the CiviBounces cron script. In return they get this odd message:
You have been un-subscribed from the following groups: {unsubscribe.group}.
That "{unsubscribe.group}" above is exactly what they see. Normally I'd expect to see "GroupA" (or perhaps "Subgroup2") here, but it's just the raw token name.
The cron job doesn't pitch an error, and the recipient's database record remains unchanged. Without manual intervention they will get subsequent messages to GroupA, which does not endear them to my organization.
What would cause this behavior (and how to set things right)?