• We did something similar using event handlers to push the error messages to a table.
    The start time of the package was logged in the same table (as was the end time).

    We then have a process that looks at the table, looks for any error messages after the logged start of the package and sends those out in an email.