SMTP (port 25)
| Command | Syntax | Function |
| Hello | HELLO <sending-host> | Identify sending SMTP |
| From | MAIL FROM:<from-addresses> | Sender address |
| Recipient | RCPT TO:<to-address> | Recipient address |
| Data | DATA | Begin a message |
| Reset | RSET | Abort a message |
| Verify | VRFY <string> | Verify a username |
| Expand | EXPN <string> | Expand a mailing list |
| Help | HELP <string> | Request on-line help |
| Quit | QUIT | End the SMPT session |
SMPT is such a simple protocol you can literally do it yourself. You telnet to port 25 (telnet mail.microsoft.com 25) on a remote host and type mail in from the command line using the SMTP commands.
SMTP provides direct end-to-end mail delivery. This is unusual, most mail systems use store and forward protocols that move mail toward its destination one hop at a time, storing the complete message at each hop and then forwarding it on the next system until final delivery is made. If the direct end-to-end mail delivery fails, the local system knows it right away.
POP2 (port 109)
| Command | Syntax | Function |
| Hello | HELLO user password | Identify user account |
| Folder | FOLD mail-folder | Select mail folder |
| Read | READ [n] | Read mail, start with message n |
| Retrieve | RETR | Retrieve message |
| Save | ACKS | Acknowledge and save |
| Delete | ACKD | Acknowledge and delete |
| Failed | NACK | Negative acknowledge |
| Quit | QUIT | End the POP2 session |
POP3 (port 110)
| Syntax | Function |
| USER username | The user's account name |
| PASS password | The user's password |
| STAT | Display the number of unread messages/bytes |
| RETR n | Retrieve message number n |
| DELE n | Delete message number n |
| LAST | Display the number of the last message accessed |
| LIST [n] | Display the size of message n or of all messages |
| RSET | Undelete all message, reset message number to 1 |
| TOP n l | Print the header and l lines of message n |
| NOOP | Do nothing |
| QUIT | End the POP3 session |