SMTP - Simple Mail Transfer Protocol
Comandos
<reverse-path> ::= <path>
<forward-path> ::= <path>
<path> ::= "<" [ <a-d-l> ":" ] <mailbox> ">"
<at-domain> ::= "@" <domain>
<domain> ::= <element> | <element> "." <domain>
<element> ::= <name> | "#" <number> | "[" <dotnum> "]"
<mailbox> ::= <local-part> "@" <domain>
<local-part> ::= <dot-string> | <quoted-string>
<name> ::= <a> <ldh-str> <let-dig>
<ldh-str> ::= <let-dig-hyp> | <let-dig-hyp> <ldh-str>
<let-dig> ::= <a> | <d>
<let-dig-hyp> ::= <a> | <d> | "-"
<dot-string> ::= <string> | <string> "." <dot-string>
<string> ::= <char> | <char> <string>
<quoted-string> ::= """ <qtext> """
<qtext> ::= "\" <x> | "\" <x> <qtext> | <q> | <q> <qtext>
<char> ::= <c> | "\" <x>
<dotnum> ::= <snum> "." <snum> "." <snum> "." <snum>
<number> ::= <d> | <d> <number>
<CRLF> ::= <CR> <LF>
<CR> ::= o caracter Carriage Return (código ASCII 13)
<LF> ::= o caracter Line Feed (código ASCII 10)
<SP> ::= caracter de espaço (código ASCII 32)
<snum> ::= um, dois ou três dígitos representando um valor
decimal inteiro entre 0 e 255
<a> ::= qualquer um dos caracteres alfabéticos, maiúsculo ou
minúsculo
<c> ::= qualquer um dos 128 caracteres ASCII exceto <special>
ou <SP>
<d> ::= qualquer dígito de 0 a 9
<q> ::= qualquer um dos 128 carcteres ASCII exceto <CR>,
<LF>, aspas (") ou barra invertida (\)
<x> ::= qualquer um dos 128 carcteres ASCII (sem exceções)
<special> ::= "<" | ">" | "(" | ")" | "[" | "]" | "\" | "." |
"," | ";" | ":" | "@" """ | caracteres de controle
(códigos ASCII entre 0 e 31, inclusive, e 127)
Identifica o Emissor da mensagem para o Receptor.
MAIL(Obrigatório)
Este comando inicializa uma transação de mail na qual uma mensagem é enviada a uma ou mais caixa de mensagems (mailbox).
Este comando identifica o destinatário da mensagem; múltiplos destinatários são definidos por múltiplos usos desse comando.
DATA(Obrigatório)
Inicializa a transmissão da mensagem, após seu uso é transmitido o conteúdo da mensagem, que pode conter qualquer um dos 128 caracteres ASCII. O seu término é especificado por uma sequência "<CRLF>.<CRLF>".
Este comando determina que a operação atual de mail deverá ser abortada. Todos os dados referentes são descartados.
Este comando é usado para inicializar uma transação de mail na qual uma mensagem é enviada para um ou mais terminais onde estejam os destinatários e não para os seus mailboxes. É um comando alternativo ao comando MAIL
Este comando é usado para inicializar uma transação de mail na qual uma mensagem é enviada para um ou mais terminais onde estejam os destinatários ou a seus mailboxes. A mensagem é derecionada aos terminais dos destinatários ativos no momento (e aceitando mensagens) caso contrário é direcionada aos seus mailboxes. É alternativo ao comando MAIL.
Este comando é usado para inicializar uma transação de mail na qual uma mensagem é enviada para um ou mais terminais dos destinatários e aos seus mailboxes. A mensagem é derecionada aos terminais dos destinatários ativos no momento (e aceitando mensagens) e a todos os mailboxes.
Este comando solicita ao Receptor-SMTP a confirmação de que o argumento identifica um usuário conhecido. Se for identificado é retornado o nome completo do usuário (se este possuir) e seu mailbox completo.
Este comando solicita ao Receptor-SMTP a confirmação de que o argumento identifica uma lista de usuários de mail (mailing list). Se for identificada serão retornados os membros desta lista no mesmo formato retornado pelo comando VRFY.
Este comando faz com que o Receptor-SMTP envie informação de ajuda ao Emissor-SMTP.
NOOP(Obrigatório)
Este comando não possui efeitos nem parâmetros. Apenas faz com que o receptor envie um OK.
QUIT(Obrigatório)
Este comando determina que o Receptor-SMTP envie um OK e então feche o canal de comunicação com o Emissor-SMTP.
Este comando faz com que o Receptor e o Emissor troquem de papéis, o Receptor fica como Emissor e o Emissor como Receptor.