Estou executando um servidor Postfix que usa Dovecot LMTP para entrega de correio. Estou fazendo isso porque funciona bem com a peneira.
No entanto, recebi recentemente alguns e-mails com Unicode na linha de assunto.
Este e-mail foi recebido corretamente pelo Postfix, que suporta claramente SMTPUTF8 - no entanto, ele morre quando chega ao LMTP:
<me@myhost> (expanded from <meother@mhost>): SMTPUTF8 is required, but was not offered by host myhost[public/lmtp]
Eu li na documentação do Postfix SMTPUTF8 que,
Quando uma mensagem é recebida com a solicitação SMTPUTF8, o Postfix entregará a mensagem para um servidor SMTP ou LMTP não SMTPUTF8 SOMENTE se:
Nenhum valor de cabeçalho de mensagem contém UTF-8.
O endereço do remetente do envelope não contém UTF-8,
Nenhum endereço de destinatário de envelope para essa transação de entrega SMTP/LMTP específica contém UTF-8.
NOTA: Os destinatários em outras transações de entrega de e-mail para a mesma mensagem ainda podem conter UTF-8.
Caso contrário, o Postfix retornará o(s) destinatário(s) dessa transação de entrega de e-mail como não entregues. A mensagem de notificação de status de entrega será uma mensagem SMTPUTF8. Portanto, estará sujeito às mesmas restrições do email recebido com a solicitação SMTPUTF8.
--http://www.postfix.org/SMTPUTF8_README.html#detecting
A parte relevante é "O Postfix entregará ... para um servidor não-SMTPUTF8 ... LMTP SOMENTE se ... [não houver UTF8 na mensagem]".
Isso está formulado de maneira estranha, mas a implicação é que o Postfix só transmitirá mensagens UTF8 para um servidor downstream se suportar UTF8.
Como estou recebendo mensagens UTF8, o Postfix se recusa a entregá-las ao Dovecot LMTP.
O que me leva a algumas perguntas:
- O Dovecot LMTP suporta SMTPUTF8? (Parece que não: http://www.dovecot.org/list/dovecot/2013-January/thread.html#87756)
- O Postfix possui um modo de "falha suave" para isso, por meio do qual ele pode enfileirar o e-mail para entrega posterior, ignorar o LMTP ou fazer algo mais inteligente do que cair?
Responder1
DR: VejaSumming up
!
Também recebo regularmente e-mails com UTF-8
caracteres na Subject:
linha. Até agora, nunca houve nenhum em outros cabeçalhos.
Embora um modo de 'falha suave' no postfix seja desconhecido para mim, você pode configurar outro transporte smtp e filtrar os saltos através dele como uma espécie de modo à prova de falhas. No entanto, eu ainda não teria concluído essa configuração sozinho. A partir de agora, as rejeições permanecem na fila como não entregues até o vencimento. Pelo menos eles não são simplesmente devolvidos ao remetente e eu estou de olho nos membros pegajosos da fila. Por outro lado, estou relutante em prosseguir nesse caminho, agora que o seguinte método funciona para mim (tm):
A solução de trabalho (apenas no caso de UTF-8
chars in Subject:
) era apenasdesabilitarpós-fixo'smtputf8_enable
recurso que hoje em dia é padronizado como "sim" (isto é, usando um debian atualizado). Em main.cf adicione:
smtputf8_enable = no
Brincar smtputf8_autodetect_classes
foi inconclusivo.
As mensagens de e-mail com a UTF-8
Subject:
linha agora estão sendo processadas pelo postfix e salvas pelo dovecot sem problemas.
A solução pode parecer contra-intuitiva, especialmente em relação à documentação do postfix com palavras um pouco estranhas (como você já mencionou).
A última atualização sobre SMTPUTF8
suporte no dovecot parece ser aquela que você está referenciando. Em algum outro lugar, lembro-me de ter visto uma postagem em que o SMTPUTF8
pombal não será implementado tão cedo, se é que será implementado [carece de fontes]. Não tenho certeza se esta foi uma declaração oficial ou não.
Outro comentário sobre o pombal SMTPUTF8
pode ser encontrado aqui (incluindo sua referência e esta pergunta SE):https://dovecot.org/list/dovecot/2016-November/106029.html
Juntamente com este próximo post, parece que o tópico parou por volta do final de 2016:https://dovecot.org/list/dovecot/2016-September/105474.html
Em outubro de 2022, ainda não há perspectiva de que o SMTPUTF8 será suportado pelo dovecot LDA/LMTP tão cedo. No entanto, esse problema agora está sendo rastreado com o ID do rastreador de bugs dovecot "DOP-1045" (cf. https://dovecot.org/list/dovecot/2019-April/115430.html).
Resumindo:hoje, se você não precisar de SMTPUTF8
suporte em cabeçalhos além do Subject:
cabeçalho, poderá se safar com apenasdesabilitando smtputf8_enable
no postfix 'main.cfe seja feliz como está.
HTH