Look at it this way. Let's say we have a user named abc whom wants to send mail from his/her server at example.com to the email address he was given by his/her friend xyz whom resides on geomail.us.com.
example.com initates the conversation with geomail.us.com and informs it that it has a message for it
abc@example.com ---> xyz@geomail.us.com
Now, geomail.us.com being a good little email server, checks to see if it has a user by that name. after alot of internal checking it realizes that there is no user by that name. Normally this email would bounce, right? In most cases yes. In this rare instance, geomail.us.com has a catch all email address defined, in this case 'incoming@geomail.us.com' So the server redirects the email to that account.
xyz@geomail.us.com ---> incoming@geomail.us.com
All's well and good, abc@example.com believes that the message has been delivered. So, far as it knows the mail has been recieved by xyz@geomail.us.com. The catch all has caught this email and redirected it to incoming@geomail.com
Now comes the fun part? How do we get the mail caught by incoming@geomail.us.com to the actual recipient? Simple answer? We cheat.
We introduce a cgi script called 'mail-fetch.cgi' into teh mix. This scripts sole purpose is to log onto pop server and collect all the messages caught by incoming@geomail.us.com
During it's run, the script defines a hash key for each unique address in the list of recieved mail and sorts the individual emails into into their appropriate "mail boxes". It then checks those addresses against a database of "users" and pushes the appropriate emails to the appropriate users. If a user does not have an entry defined in the database, we generate a suitable error in that users name and push teh email back to the originating server.
xyz@geomail.us.com ---> db ----> xyz
pdq@geomail.us.com ---> db ----> no mbox ----> bounce
Am I making sense now?
|