Forum OpenACS Improvement Proposals (TIPs): TIP#127 (Approved) optional object_id parameter to acs_mail_lite::send
The use case, in assessment we want to email users their score after they have completed an assessment. This is done by an administrator regularly. To keep track of who has already received the email we pass in the object_id to acs_mail_lite::send which is propagated to the send callback which triggers mail tracking.
This is pretty simple and doesn't change the behavior of existng code if the object_id is unspecified.
You would have to apply the patch which I posted in the bug tracker though.. It makes complex send just a wrapper for ::send, providing additional capabilities (like passing in folders and group_ids) but use ::send for the actual sending.