31 lines
No EOL
2.4 KiB
Markdown
31 lines
No EOL
2.4 KiB
Markdown
---
|
|
aliases: ["Simple Mail Transfer Protocol"]
|
|
obj: concept
|
|
wiki: https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol
|
|
rfc: https://datatracker.ietf.org/doc/html/rfc5321
|
|
---
|
|
|
|
# Simple Mail Transfer Protocol
|
|
Simple Mail Transfer Protocol (SMTP) is a protocol used for the transmission of electronic mail ([email](eMail.md)) over a computer network. SMTP is a text-based protocol that facilitates the sending and receiving of [emails](eMail.md) between servers and is a fundamental component of [email](eMail.md) communication on the internet.
|
|
|
|
## Key Concepts
|
|
### 1. **Message Transfer:**
|
|
- SMTP is primarily responsible for the transfer of [email](eMail.md) messages between a sender's [email](eMail.md) client (Mail User Agent - MUA) and a recipient's [email](eMail.md) server (Mail Submission Agent - MSA) and between [email](eMail.md) servers (Mail Transfer Agent - MTA).
|
|
### 2. **Client-Server Interaction:**
|
|
- SMTP operates on a client-server model, where an [email](eMail.md) client sends messages to an [email](eMail.md) server for delivery. Servers communicate with each other to relay messages.
|
|
### 3. **Port Number:**
|
|
- SMTP uses port `25` for unencrypted communication. Port `587` is commonly used for secure communication with Transport Layer Security (TLS).
|
|
### 4. **Commands and Responses:**
|
|
- SMTP communication involves a series of commands and responses between the client and server. Common commands include `HELO` (client identification), `MAIL FROM` (specify sender address), `RCPT TO` (specify recipient address), `DATA` (begin message data input), and `QUIT` (terminate the session).
|
|
### 5. **Relaying:**
|
|
- SMTP allows for the relaying of messages between different [email](eMail.md) servers, facilitating the delivery of [emails](eMail.md) across different domains.
|
|
|
|
## SMTP Operation
|
|
### 1. **Handshake:**
|
|
- The SMTP session begins with a handshake, where the client identifies itself to the server using the `HELO` or `EHLO` (extended hello) command.
|
|
### 2. **Sender and Recipient Specification:**
|
|
- The client specifies the sender's address using the `MAIL FROM` command and the recipient's address using the `RCPT TO` command.
|
|
### 3. **Message Transmission:**
|
|
- The actual message is transmitted using the `DATA` command, allowing the client to send the message body and headers.
|
|
### 4. **Session Termination:**
|
|
- The session concludes with the `QUIT` command, indicating the end of the SMTP communication. |