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

Reply via email to