Actually e-mail flows from one point to another using a text based simple protocol called SMTP.
It has commands like HTTP. HTTP only has 7 or so out of which normally browsers only use GET, HEAD, POST and so on. In the case of SMTP the commands are HELO/HELO MAIL FROM: <[email protected]> RCPT TO: <[email protected]> DATA How are you? . QUIT That is the client part. This SMTP client is actually the SMTP server of the sender. The mail client like Outlook or web mail like hotmail, yahoo! or gmail actually sends the mail to the target mail server's port 25. The target mail server is identified from the MX DNS record of the domain of the recipient e-mail ID. When you type the mail and click send or if you use mutt like me, when you type 'y', the mail is first uploaded to the mail server, stored in a Q and then dispatched to the destination mail server using SMTP. My product being an e-mail security gateway sits in between the recipient mail server and the client mail servers that send mail inward. So I see a lot of SMTP traffic daily. ;) I have written a C SMTP proxy that uses UNIX semantics doing a fork(), and uses poll(2) to ferry packets between the client and server. Thereby I receive the whole mail from the SMTP sender and store it in a file and then do virus and spam scanning on it. If it looks alright I read the file and transmit to the mail socket. In case it looks bad I drop the mail. That in short is how my product works. In seeing the SMTP packets on the wire and how mail servers send e-mail I find that usual mail size is of the order of 5000 bytes. And the mail protocol is quite simple to use and understand. As and when my experience unfolds more info I shall post to LUG. I have been developing this technology for more than 6 years and even today I have not become successful. I must be really dumb no? -Girish -- Gayatri Hitech http://gayatri-hitech.com _______________________________________________ ILUGC Mailing List: http://www.ae.iitm.ac.in/mailman/listinfo/ilugc
