Não, não é possível, pois não é implementado com qualquer software SMTP de grande difusão; você teria que programar seu próprio servidor SMTP que suporta esse tipo de comportamento, que estaria fora do escopo no Serverfault . Nessa resposta, explico por que todos os MTAs implementaram o protocolo SMTP de maneira muito semelhante, usando a fila e como essa é a melhor maneira de cumprir todos os requisitos do protocolo.
Um agente de transporte de email MTA sempre nega uma mensagem ou a aceita e a enfileira, com base em suas próprias configurações. Então, é retransmitido ou entregue da fila.
Isso é porque
-
pode haver erros permanentes e temporários. Se o MTA não puder conectar o nexthop imediatamente, ele tentará novamente mais tarde e só retornará se o atraso atingir o limite definido. Também não pode esperar por outro MTA para responder antes de fechar a conexão, pois pode ter outras mensagens para entregar primeiro.
-
pode haver vários destinatários. Enquanto um cliente pode simplesmente listar todos os destinatários de uma vez com comandos
RCPT TO
, a mensagem pode ser finalmente entregue a vários outros servidores, alguns dos quais podem estar disponíveis agora e alguns mais tarde. Além disso, o MTA não pode abrir todas essas conexões de uma vez durante a conexão inicial e esperar por suas respostas. Não há nenhuma razão prática para ter um fluxo de trabalho totalmente diferente para mensagens com um único destinatário. -
Sempre deve estar claro qual MTA atualmente tem a responsabilidade de entregar a mensagem. (Isso foi explicado por exemplos na resposta de MadHatter.)
É assim que o SMTP foi projetado. Em vez de exigência sintática para os comandos de conexão, isso leva a arquiteturas muito semelhantes ; Sendmail , Postfix e até mesmo MS Exchange possui componentes separados para enviar e receber mensagens.
- O componente do servidor SMTP recebe e-mails e os adiciona à fila.
- Em seguida, o cliente SMTP separado tenta enviá-lo para outros MTAs ou, se um destinatário for local, a mensagem pode ser salva em um arquivo ou passada para um agente de entrega de e-mail MDA, por exemplo. Procmail.
O requisito ainda vem da especificação do SMTP; RFC 5321 2.1 na estrutura básica do modelo SMTP:
Fully-capable SMTP implementations, including the relays used by these less capable ones, and their destinations, are expected to support all of the queuing, retrying, and alternate address functions discussed in this specification. In many situations and configurations, the less-capable clients discussed above SHOULD be using the message submission protocol (RFC 4409) rather than SMTP.
E um pouco mais:
In other words, message transfer can occur in a single connection between the original SMTP-sender and the final SMTP-recipient, or can occur in a series of hops through intermediary systems. In either case, once the server has issued a success response at the end of the mail data, a formal handoff of responsibility for the message occurs: the protocol requires that a server MUST accept responsibility for either delivering the message or properly reporting the failure to do so (see Sections 6.1, 6.2, and 7.8).