SMTP is a traditional command based Internet protocol; the client issues command verbs with one or more arguments, and the server responds with a 3 digit status code and additional information. The response can span one or multiple lines, the continuation is indicated by an '-' character between the status code and text.
The communication itself is stateful, the client first specifies the sender via the "MAIL" command, then the recipients using multiple "RCPT" commands. Finally it sends the mail body using the "DATA" command. After a transaction finishes the client either closes the connection using the "QUIT" command, or starts a new transaction with another "MAIL" command.
Example 4.19. SMTP protocol sample |
---|
220 mail.example.com ESMTP Postfix (Debian/GNU) EHLO client.host.name 250-mail.example.com 250-PIPELINING 250-SIZE 50000000 250-VRFY 250-ETRN 250-XVERP 250 8BITMIME MAIL From: <sender@sender.com> 250 Sender ok RCPT To: <account@recipient.com> 250 Recipient ok RCPT To: <account2@recipient.com> 250 Recipient ok DATA 354 Send mail body From: sender@sender.com To: account@receiver.com Subject: sample mail This is a sample mail message. Lines beginning with ..are escaped, another '.' character is perpended which is removed when the mail is stored by the client. . 250 Ok: queued as BF47618170 QUIT 221 Farewell |
Published on May 30, 2024
© BalaSys IT Ltd.
Send your comments to support@balasys.hu