SMTP stands for Simple Mail Transfer Protocol. It's a set of communication guidelines that allow software to transmit email over the Internet. Most email software is designed to use SMTP for communication purposes when sending email, and It only works for outgoing messages. When people set up their email programs, they will typically have to give the address of their Internet service provider's SMTP server for outgoing mail. There are two other protocols - POP3 and IMAP - that are used for retrieving and storing email.
SMTP provides a set of codes that simplify the communication of email messages between servers. It's a kind of shorthand that allows a server to break up different parts of a message into categories the other server can understand. Any email message has a sender, a recipient - or sometimes multiple recipients - a message body, and usually a title heading. From the perspective of users, when they write an email message, they see the slick interface of their email software, but once that message goes out on the Internet, everything is turned into strings of text. This text is separated by code words or numbers that identify the purpose of each section. SMTP provides those codes, and email server software is designed to understand what they mean.
The other purpose of SMTP is to set up communication rules between servers. For example, servers have a way of identifying themselves and announcing what kind of communication they are trying to perform. There are also ways to handle errors, including common things like incorrect email addresses. In a typical SMTP transaction, a server will identify itself, and announce the kind of operation it is trying to perform. The other server will authorize the operation, and the message will be sent. If the recipient address is wrong, or if there is some other problem, the receiving server may reply with an error message of some kind.
SMTP was created in the early 1980's and it was built around basic concepts of server communication that go back to the 1970's. In those days, the Internet was a very closed community, mostly consisting of scientist and government institutions. The people in this group generally trusted each other, so SMTP has some lax security holes. For example, it is relatively easy to send a message with a fake sender address. This is how many email-based viruses are spread. Someone may receive a message that they think is coming from a friend, when someone else is actually sending it. There have been some improvements made to email server software to make up for these weaknesses, but it can still cause some problems.
The greatest strengths of SMTP are reliability and simplicity. It's easy to set up software that uses the SMTP communication rules, and it gets the job done. Messages either get to a recipient, or there is an error message that explains why that wasn't possible.
Most servers these days actually us a slightly updated version of the SMTP protocol called ESMTP (Extended Simple Mail Transfer Protocol). This was created to allow transmission of multimedia through email. When someone sends a picture or music file through their email program, ESMTP communication codes are used to identify the kind of data being transferred.