O Postfix Dovecot LMTP e os delimitadores de endereço não funcionam

0

Eu tenho um servidor Debian com Postfix e Dovecot. Recentemente instalei o Sieve on Dovecot e configurei o Postfix para entregar e-mails com o LMTP. Desde então, os nomes de usuário puros não funcionam em conjunto com um delimitador. Delimitadores só parecem ser resolvidos quando o aliases-db está envolvido. O log diz:

User doesn't exist: [email protected] (in reply to RCPT TO command)

Aqui está a configuração básica com alguns exemplos

username: doe  
delimiter: -    
[email protected] -> works  
[email protected] -> works  
[email protected] -> unknown user  
[email protected] -> works  

/etc/aliases :

john.doe: doe  

/etc/postfix/main.cf :

recipient_delimiter = -
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mailbox_transport = lmtp:unix:private/dovecot-lmtp
# All options: propagate_unmatched_extensions = canonical, virtual, alias, forward, include
propagate_unmatched_extensions =
    
por jochen 12.12.2016 / 16:55

1 resposta

1

O problema aqui não é com o Postfix, mas com o Dovecot. Como o Dovecot não sabe sobre o Postfix recipient_delimiter , ele deve assumir que uma consulta de usuário para [email protected] realmente significa “Procurar usuário” doe-test «no domínio» example.com «”.

Esta solução para isso é felizmente trivial, simplesmente diz ao Dovecot o que você disse ao Postfix :

  1. Abrir /etc/dovecot/conf.d/15-lda.conf
  2. Remova o comentário da linha que contém #recipient_delimiter = + e substitua o + por qualquer ( - no seu caso)
  3. Lucro!

Na entrega do endereço Postfix e / etc / aliases:

A razão pela qual [email protected] funciona em sua configuração é porque a pesquisa de aliases é feita pelo próprio Postfix antes decidir se a mensagem será entregue (isto é: o LMTP não é relevante em tudo nesta fase).

Então o que acontece é isto:

  • O Postfix recebe uma mensagem para [email protected] usando seu daemon smtpd e a coloca na fila de mensagens
  • O daemon postfix qmgr agenda a mensagem para processamento
  • qmgr resolve o destino da mensagem usando o comando trivial-rewrite
    • Aqui é onde a análise e as pesquisas de endereço são realizadas e, portanto, o delimitador do destinatário é usado pela primeira vez.
    • Em particular, o Postfix irá realizar as seguintes pesquisas na tabela de aliases:
      1. [email protected] e john.doe-test (endereço original)
      2. [email protected] e john.doe (endereço sem extensão adddress)
      3. (Possivelmente alguns outros, dependendo do endereço e da configuração usada.)
    • Se a pesquisa for bem-sucedida, ela retornará o novo endereço de destino e a mensagem será colocada na fila novamente.
  • Eventualmente, a mensagem (de uma forma ou de outra) acabará sendo marcada como pronta para entrega (mesmo que seja apenas um tipo especial de entrega ...) e qmgr agendará o comando apropriado para realizar essa entrega (como lmtp ) - passando a mensagem com o endereço de entrega final (no nosso caso [email protected] )
    • Se o lmtp do Postfix for usado para entrega, uma conexão com o daemon LMTP real (Dovecot) será estabelecida e a mensagem (com o endereço de entrega final) será transmitida usando o protocolo LMTP.
  • O daemon LMTP da Dovecot não saberá nada desse processo de reescrita e simplesmente tentará entregar a mensagem com base no endereço de entrega final ( [email protected] ) que receber.

Agora, se considerarmos o caso de [email protected] , veremos que a pesquisa da tabela de aliases para esse endereço nunca será bem-sucedida e, portanto, o endereço de entrega nunca será reescrito. O Postfix irá acabar tentando entregar uma mensagem para [email protected] usando o LMTP.

O Postfix não deve simplesmente descartar a extensão de endereço antes de tentar entregar usando o LMTP?
Talvez , mas não descartá-lo com um enorme benefício: a Dovecot poderá saber sobre a extensão do endereço. Isso pode não parecer muito útil, mas processar a extensão de endereço no lado do Dovecot permite que coisas legais como automaticamente colocam mensagens em Subpastas IMAP usando o Sieve .

    
por 30.09.2017 / 23:43