OK, problem, the exchange 2010 server was spewing out the internal server name in the header of a SMTP connection 220 internal.domain.local Microsoft ESMTP MAIL Service ready at Sun, 15 Aug 2010 03:23:18 -0400.

Needless to say, that's bad. I wanted it to show the external name of the server. So, I set out to find it. Turns out you can't do it through the Management Console. You have to pop open the management shell. You can get the name using the management console, or to find it using the management shell,

get-receiveconnector | select Identity, Bindings

First column is <computername>\<connector name> second column is the binding it is listening on.

Once you have the identity of the connector, you need to set the banner

set-receiveconnector "<identity>" -Banner "220 <external fqdn>"

You need to use the identity if the connector is on a different server than the one your connected to, it tells you the server you are connected to when you first open the shell. If you only know the name and not the identity, use get-receiveconnector | select Identity, Name