Configure o Postfix e o Dovecot-LMTP para receber mensagens via SMTPUTF8?

6

Estou executando um servidor Postfix que usa o Dovecot LMTP para entrega de mensagens. Eu estou fazendo isso porque ele joga bem com peneira.

No entanto, recebi alguns emails recentemente com Unicode na linha de assunto.

Este e-mail é recebido OK 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,

When a message is received with the SMTPUTF8 request, Postfix will deliver the message to a non-SMTPUTF8 SMTP or LMTP server ONLY if:

No message header value contains UTF-8.

The envelope sender address contains no UTF-8,

No envelope recipient address for that specific SMTP/LMTP delivery transaction contains UTF-8.

NOTE: Recipients in other email delivery transactions for that same message may still contain UTF-8.

Otherwise, Postfix will return the recipient(s) for that email delivery transaction as undeliverable. The delivery status notification message will be an SMTPUTF8 message. It will therefore be subject to the same restrictions as email that is received with the SMTPUTF8 request.

- link

A parte relevante é "O Postfix entregará ... a um servidor não SMTPUTF8 ... LMTP APENAS se ... [não houver UTF8 na mensagem]".

Isso é desajeitadamente redigido, mas a implicação é que o Postfix só passará o email UTF8 para um servidor downstream se ele suportar UTF8.

Como estou recebendo e-mail UTF8, o Postfix está se recusando a enviá-lo para o Dovecot LMTP.

O que me leva a algumas perguntas:

  • O Dovecot LMTP suporta o SMTPUTF8? (Não parece: link )
  • O Postfix tem um modo de "falha de software" para isso, pelo qual ele pode enfileirar o correio para entrega posterior, ignorar o LMTP ou fazer algo mais inteligente do que cair?
por g33kz0r 31.10.2016 / 15:55

1 resposta

4

TL; DR: veja Summing up !

Eu também recebo regularmente e-mails com UTF-8 chars na linha Subject: . Nunca até agora, nenhum dentro de outros cabeçalhos.

Embora um modo 'soft-fail' no postfix seja desconhecido para mim, você pode configurar outro transporte smtp e a filtragem será rejeitada como uma espécie de modo à prova de falhas. No entanto, eu ainda teria que concluir essa configuração sozinho. A partir de agora, os saltos estão aderindo à fila como não entregues até o vencimento. Pelo menos eles não são apenas devolvidos ao remetente e eu tenho um olho nos membros da fila. Por outro lado, estou relutante em ir mais além, agora que o método a seguir funciona para mim (tm):

A solução de trabalho (no caso de UTF-8 chars em Subject: apenas) era apenas desabilitar o postfix ' smtputf8_enable recurso que atualmente é padronizado como "sim" (usando um debian atualizado, isto é). Em main.cf add:

smtputf8_enable = no

Brincar com smtputf8_autodetect_classes foi inconclusivo.

As mensagens de e-mail com a linha UTF-8 Subject: agora estão sendo processadas pelo postfix e salvas pelo dovecot sem nenhum problema.

A solução pode parecer contra-intuitiva, especialmente no que diz respeito à documentação de postfix levemente desajeitada (como você já mencionou).

A atualização mais recente sobre o SMTPUTF8 support no dovecot parece ser a que você está referenciando. Em algum outro lugar, eu me lembro de ter visto uma postagem em que o SMTPUTF8 no dovecot não será implementado em breve, se necessário [citação necessária]. Não tenho certeza se isso foi uma declaração de autoridade ou não.

Outro comentário sobre o dovecot e o SMTPUTF8 pode ser encontrado aqui (incluindo sua referência e esta pergunta do SE): link Juntamente com este próximo post, parece que o tópico ficou estagnado no final de 2016: link

Resumindo: hoje, se você não precisar de SMTPUTF8 support em cabeçalhos que não sejam o Subject: , talvez seja possível desativar apenas desativando smtputf8_enable no postfix 'main.cf e seja feliz como está.

HTH

    
por 05.11.2017 / 17:37