I haven't tested this but try something like this below. I would also recommend adding logging statements as you process through and get your iRule working correctly. This will be a timesaver as you troubleshoot and debug.
when CLIENT_ACCEPTED {
TCP::respond "220\r\n"
TCP::collect 2000
}
when CLIENT_DATA {
set cdata [TCP::payload]
if { $cdata starts_with "DATA" } {
if { $cdata contains "Exchange2010R2" } {
set new_payload [string map {"Sent From:" "Sent From:\nExchange 2010 R2 Server\n"} $cdata]
TCP::payload replace 0 0 $new_payload
}
}
TCP::release
TCP::collect
}
Seth