How do you access the sites, using public urls or localhost?
I think you are not understanding my advice.
On all machines localhost resolves to the loopback address 127.0.0.1.
So a site running at localhost is local to the smtp server running as localhost. Any other url is going to resolve to the public ip address of the server which is not local so the public ip address must explicitly be allowed to relay or the local smtp server will reject it.
Go into IIS right click your smtp server and review properties to make sure the public ip address is listed as allowed to relay.
You may also want to look for errors in the mojoportal log on the site that can't send email. Administration > System Log
Hope it helps,
Joe