I just saw a posting about this in the Microsoft public newsgroups, and I thought it might be handy to put a remind about how to set this up. I'm doing this from memory, and I'll try to put up a complete, illustrated set of instructions later this week.
The real issue is mainly about how to get the incoming email to flow properly. Most people can configure the outgoing email settins the the SharePoint Central Administration without too much problem. It's the incoming that messes with their heads.
The basic mistake that usually gets made is that the admins configure the incoming email domain name to match the live domain name. The followon from this usually means that someone adds that namespace to the SMTP connector on the Exhange server. This is where the loop comes in. The name in the connector means that the Exchange server will likely try to send it to the connector's partner which will then do the MX record lookup, and find it's own ip address. It will take the mail and then look at all the connectors to see what route it should take, and it tries to send it back out. So it does an MX lookup. Do you see where the loop comes in here?
The easiest fix: Make the sure the incoming email domain namespace in sharepoint is different than the domain namespace of your Exchange environment, and then configure the smtp connector in exhange with THAT namespace, rather than creating the loop.
There, that's the real quick and dirty solution. Like I said, I'll try to get a more detailed explanation in here later