SIMPLE MAIL TRANSFER PROTOCOL | What is SMTP? | SMTP models | Where it is used? | How does an email go from sender to recipient? | Communication between Sender and Receiver | SMTP Performs Tasks Problems in SMTP


  • List of topics that we cover in the article:
  • What is SMTP?
  • SMTP models
  • Where it is used?
  • How does an email go from sender to recipient?
  • Communication between Sender and Receiver
  • SMTP Performs Tasks
  • Problems in SMTP


  • What is SMTP?

Now a day’s email is the most popular service in the internet. Many of the internet agents use SMTP to send and receive mails not only SMTP we also use POP3 and IMAP protocol at the recipient’s side.

Now let’s see the clear definition of SMTP:

SMTP is an application layer protocol which is used to send and receive the mails over the internet. Similarly, SMTP is also known as RFC 821 and it is maintained by internet engineering task force (IETF). Simply we can say SMTP is used for electronic mail transmission more reliably and efficiently.

  • SMTP models:

There are two types of SMTP models:

  • End-to-End method
  • Store and forward method
  • The main difference between end to end method and store and forward method is:
  • End-to-End method is used to communicate between many organizations.
  • Store and forward method are used to communicate with in organization.
  • Where it is used?

Electronic mail servers and other mail transfer agents use SMTP to send and receive messages. Client-side mail applications typically use SMTP for sending messages to mail server for relaying. For retrieving messages client applications use either pop3 or IMAP.


  • How does an email go from sender to receiver?

Everyone knows that email contains both text file and attachments. We know that data is broken into packets same as the email will also broken  into smaller packets. After when we press send button all these packets are uploaded to the mail server. Then the email services make these packets to the email of the recipient through the internet. Then recipient may see his email in this inbox and he can download the email. Lets see the process how mail transfers. Firstly connection establishment, mail transfer and connection termination.

  • Email consists of two parts:
  • A local part
  • A domain name

Separated by @sign

Local part @ Domain Name

When we use gateways the email addresses become complex.

  • Delayed Delivery
  • Sender-site Delay
  • Receiver -site Delay
  • Intermediate Delay
  • Communication between sender and the receiver:

Whenever the sender wants to send the message they send to MTA.The role of MTA (message transfer agent) for sending and receiving emails.


Mail is sent between client and server by request and response messages.


The agent at server side used to check the mailboxes at a certain interval of time. If information is received it reports to the user about the mail.

  • The main thing we must know that is SMTP also uses command and responses to transfer mail between client and server.
  • Commands used to send messages from client to server. It has 14 commands. The first are very mandatory, the next three are highly recommended. The last six are used very rarely.
  • Whenever the client requests server it should respond, and those responses are sent from server to client in a three digit code followed by textual information. Here are some examples
  • code:211 (system status or help relay)
  • code:451(command aborted; local error)
  • code:502(command not implemented)    
  • Performs following tasks:
  • Accept the incoming connections, and copy-messages from them into approximate mailboxes.
  • Return an errors message to the sender, if a message is not delivered.
  • SMTP is a simple ASCII protocol.
  • Once a TCP connection between a sender and ports of the receiver is established, the sending operates as a client and receiving machine acts as a server.
  • But if the server is willing to accepts email then the client announces the sender of email and its recipient.
  • Problems in SMTP:
  • Some older implementation is not capable of handling messages longer than 64KB
  • If client and server have different time outs, then one of them give up when the other is still busy.
  • In rare situationas, infinite mail storms can be triggered.