There appears to be a bug in this. The docs say: This field contains all of the Received: headers for the message, delimited by a carriage return/line feed delimiter (\r\n). http://msdn.microsoft.com/library/default.asp?url=/library/en-us/e2k3/e2k3/_cdo_schema_mailheader_received.asp But it only returns the last server on my system. Does anyone know of a work around for this? I am writing a spam filter using ISMTPOnArrival_OnArrival. This is a major problem for me as I need the spammers IP address. My server is backed up by my ISP servers and a lot of my SPAM is comming in with the IP address of my ISP server instead of the spammers IP address. When I look at the headers of the actual message in outlook all if the IP address do exist. Any help with this is greatly appreciated. Including letting me know if there is a better place to ask this question. Thanks John Fenton