• If I have a database dependent external process then I usually use a trigger to insert records into a logging table or tables.

    For example, a new page gets published in a CMS so all subscribers should get an e-mail.

    The trigger captures the publishing process and writes the page id to my logging table.  End of trigger.

    An scheduled external process does a SELECT TOP n from my logging table and sends batches of e-mail.

    This achieves two things.

    • The logging table acts as a giant out-box.
    • The external process with its SELECT TOP n is set to send e-mail in batches that are small enough to be digested by the mail server.