Postfix: endereços ilimitados por usuário via sinal "+"


10

Os usuários do Gmail podem obter endereços de e-mail praticamente ilimitados usando $name+$suffix@gmail.com("mais endereçamento").

Eu gostaria de ter isso no meu próprio servidor de correio, que está executando o Postfix. Os dados da caixa de correio e alias são armazenados em um banco de dados MySQL.

Eu suspeito que a configuração do alias precisa ser modificada, para que user+foo@example.orgseja mapeada para a user@example.orgcaixa de correio, mas não consigo descobrir como.

Então é possível? Quão?

Respostas:


13

Além de definir

recipient_delimiter = +

Eu também tive que modificar master.cf, para que o maildrop obtenha não apenas o destinatário passado, mas o usuário real:

maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=Debian-exim argv=/usr/bin/maildrop -d ${user}@${nexthop} ${extension} ${recipient} ${user} ${nexthop}

Postagem no blog: http://cweiske.de/tagebuch/postfix-plus-addressing.htm


Você perguntou postfix, mas isso menciona exim, que é um servidor SMTP diferente. BTW, observe que, se você possui um servidor IMAP real (não apenas a caixa de correio), o uso LMTPé muito mais rápido que o maildrop. E se você usar LMTP com Cyrus, não precisará disso.
Mvp

1
o usuário é debian-exim, mas ainda é postfix.
cweiske


Salvou meu dia com {nexthop}. Eu nem sabia que isso existia. Obrigado.
TCB13 02/01

Obrigado pela resposta. Isto me ajudou bastante. Estou usando o postfix + procmail + dovecot em um servidor virtualmin. Acabei de adicionar a linha "container_delimiter = +" e o endereçamento positivo parece estar funcionando bem. Devo fazer algo adicional para procmail ou dovecot? Além disso, é possível restringir esse domínio em termos de domínio? Para que eu possa ativar esse endereçamento positivo apenas para alguns domínios no meu servidor? Obrigado.
Vishnu

3

Você não disse qual servidor de email está armazenando seus emails. Hoje em dia, ele deve ser um dos servidores IMAP - como Cyrus, Dovecot, Courier, ...

Eu pessoalmente gosto de Cyrus IMAP. Ele suporta isso com relativa facilidade :

Além disso, endereçamento - permite a entrega direta a uma caixa de correio específica (que não seja uma caixa de entrada). Isso é feito através de um endereço no formato: nome de usuário + pasta de correio @ domínio, que será entregue na pasta INBOX.mailfolder do usuário (ou no altnamespace equivalente). Essa sub-caixa de correio deve permitir ao usuário que postar o direito 'p'.

Adicionar 'p' à direita é uma etapa importante - caso contrário, todo o correio (usando +ou não) será entregue ao nome de usuário INBOX.

Observe que você deve usar LMTP(protocolo de transporte de correio local) para entregar seu correio postfixpara o IMAPservidor e também precisa configurar o postfix recipient_delimiter(ou recipient_delimiters) conforme descrito aqui :

recipient_delimiter = +

contanto que os e-mails não cheguem ao usuário / maildrop porque o endereço de e-mail não é reconhecido pelo servidor de recebimento, o suporte ao servidor IMAP não importa.
cweiske

obrigado por dar a dica sobre "mais endereço". com esse nome, encontrei a solução.
Ceviske

2

A master.cflinha para Dovecot:

dovecot   unix  -       n       n       -       -       pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver
 -f ${sender} -a ${recipient} -d ${user}@${domain}

Com o Postfix 2.4 e versões anteriores, use em ${nexthop}vez de${domain}

http://wiki2.dovecot.org/LDA/Postfix


Obrigado. Ideed, A solução postfix sozinha não é suficiente se você usar o Dovecot. Você precisará dessa configuração extra para o Dovecot.
precisa saber é o seguinte
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.