/spam.
Once the spam service is mounted, you may link to the spam system from
other packages to add a spam-all-users-who-meet-some-criteria feature.
You need to provide a SQL query that returns a list of
party_id's, and the object_id of the object
that controls the spam. These parameters to the spam system are
passed with ad_set_client_property rather than through
the URL/form variables for security and efficiency.
For example, you can create a link to spam all group members from the
/admin/groups/one.tcl page in acs-subsite with this code:
# note: you should add "spam_url:onevalue" to ad_page_contract
set sql_query "select member_id as party_id
from group_member_map m
where group_id = $group_id"
ad_set_client_property spam "sql_query" $sql_query
ad_set_client_property spam "object_id" $group_id
set spam_url "[spam_base]spam-add?"
and adding the link to to the template one.adp:
<p>
<a href="@spam_url@">Spam all members</a>
</p>
object_id is passed into the spam-add page.
You need to have write permissions on that object to
create a new spam message or edit an existing spam message; and you
need admin permission on that object for the spam to be
considered "approved" or to approve an unapproved spam. A spam message
will not actually be queued for sending unless it is approved.