one of the documented procedures in this installation of the ACS
spam_post_new_spam_message { -db 0 -template_p "f" -from_address "" -title "" -body_plain "" -body_html "" -body_aol "" -target_users_description "" -target_users_query "" -send_date "" -creation_user "" }
What it does:
Insert a message to be sent by the spam daemon at a scheduled time send_date.

send_date should be a string of the form "YYYY-MM-DD HH24:MI:SS" or else an empty string. If send_date is an empty string, then sysdate is used (send as soon as possible).

Returns spam_id, the id of the newly created message in the spam_history table.

Defined in: /web/philip/tcl/spam-daemon.tcl

Source code:

arg_parser_for_spam_post_new_spam_message $args

    # Validate that all mandatory arguments have been supplied.
    set missing_args [list]

    if { $db == 0 } {
	lappend missing_args "db"

    if { [empty_string_p $body_plain] } {
	lappend missing_args "body_plain"

    set n_missing_args [llength $missing_args]

    if { $n_missing_args > 0 } {
	error "missing $n_missing_args arg(s): [join $missing_args ", "]"

    if {[empty_string_p $send_date]} {
	set sql_send_date "null"
    } else  {
	set sql_send_date [ns_dbquotevalue $send_date]

    set spam_id [database_to_tcl_string $db "select spam_id_sequence.nextval from dual"]

    ns_ora clob_dml $db "insert into spam_history
    (spam_id, template_p, from_address, title,
    body_plain, body_html, body_aol,
    user_class_description, user_class_query,
    send_date, creation_date, creation_user,
    status, creation_ip_address,pathname)
    ($spam_id, '$template_p', '[DoubleApos $from_address]', '[DoubleApos $title]',
    '[DoubleApos $target_users_description]', [ns_dbquotevalue $target_users_query],
    nvl(to_date($sql_send_date, 'YYYY-MM-DD HH24:MI:SS'), sysdate), sysdate, $creation_user,
    'unsent', '', null)
    returning body_plain, body_html, body_aol into :1, :2, :3" $body_plain $body_html $body_aol
    return $spam_id