I need to capture the content of outbound emails sent through Exchange 2007 and 2010, and modify the email header and add some custom content. Is it possible for me to do so without actually redirecting all emails to an external smarthost using a catch all send connector? Thanks.
Transport Rules are the feature you're looking for, albeit they're only capable of setting static values out of the box. If you need to compute the data to be added to the header / body from other parts of the message then you're likely looking at implementing an Exchange Transport Agent.