Recently, I added some features to a framework so that it could send emails (piece of cake on ColdFusion). Well, I got my own emails while testing but a while later, something made me check the undelivered folder for ColdFusion mail engine only to discover that all outward bound mails have been dropped there.
I was baffled. I checked the internet connections, they were working fine. The SMTP server was receiving mails from ColdFusion if not I wouldn’t have gotten those sent to me.
After banging my head on the walls for 30 minutes, I went to the IT department to check the configurations of the main Exchange 2003 server. There I discovered that IP addresses of servers that can use the Exchange server to route emails must be explicitly added. After doing that, the mails were still not going until I restarted my own ColdFusion server (I don’t know why I had to do that but it worked).
This is actually no rocket science. The Exchange server sends the internal mails because those ones are not being routed while external mails must be routed before they get to their destinations. And since the router only takes mails from specified IP addresses, mine was promptly bounced.
Meanwhile, shame wouldn’t allow me to say (now am saying it anyway) that I didn’t check my mail log files until after I have resolved my issues. In clear terms, ColdFusion logged it that my mails could not be sent as the SMTP router was rejecting them.