Tenho aliases configurados no postfix, como o seguinte:
[email protected]: [email protected], [email protected] ...
Quando um email é enviado para [email protected] e qualquer um dos destinatários desse alias é cc: ed, o que é bastante comum (por exemplo: "Responder a todos"), o email é entregue em duplicado. Por exemplo, se um email for enviado para [email protected] e [email protected] for cc: ed, ele será entregue duas vezes. De acordo com as Perguntas frequentes do Postfix , isso ocorre por design, pois o Postfix envia email em paralelo sem expandir os grupos, o que o torna mais rápido que o sendmail. Agora está tudo bem e elegante, mas é possível configurar o Postfix para realmente remover destinatários duplicados antes de enviar o email?
Encontrei muitas postagens de pessoas em toda a rede com o mesmo problema, mas ainda não encontrei uma resposta. Se isso não for possível no Postfix, é possível fazê-lo em algum lugar do caminho? Eu tentei educar meus usuários, mas acho que é inútil ...
Estou executando o postfix no Mac OS X Server 10.6, amavis é definido como content_filter e dovecot é definido como mailbox_command. Eu tentei configurar o procmail como um content_filter para entrega smtp (conforme a sugestão abaixo), mas não consigo acertar. Por várias razões, não posso substituir a configuração padrão do OS X, o que significa que o postfix, o amavis e o dovecot permanecem. No entanto, posso acrescentar, se assim o desejar.
fonte
Respostas:
O Postfix não tem idéia sobre e-mails duplicados devido à maneira como está estruturado. É possível fazer o que você está sugerindo usando o procmail como seu agente de entrega.
Essencialmente, cada mensagem proveniente de um cliente deve ser entregue com um ID da mensagem exclusivo. No caso de ser entregue a várias pessoas, o ID da mensagem deve ser o mesmo; portanto, salvamos os
Message-Id
cabeçalhos que vimos e descartamos e os futuros que correspondem a essa lista.Em http://novosial.org/procmail/
fonte
content_filter
que lhe permitirá realizar a mesma tarefa em um nível globalExiste uma maneira de fazer isso, mas não usando o próprio Postfix.
Se você estiver usando uma implementação razoavelmente recente do Dovecot with Pigeonhole do Sieve , há uma extensão especial que pode ser usada para desduplicação na entrega. No Dovecot anterior à 2.2.18, o nome dessa extensão é "vnd.dovecot.duplicate" e é desativado por padrão. Nas versões mais recentes, a extensão é chamada "duplicada" e já deve estar ativada, mas habilitar explicitamente não será prejuízo.
/etc/dovecot/conf.d/90-sieve.conf:
Em seguida, crie o script de peneira para lidar com a desduplicação (você pode ajustar o nome do arquivo como achar melhor).
/mnt/mail/users/global_sieve/deduplicate.sieve:
Compile o script usando sievec e verifique se o script é legível pelo usuário dovecot . Mais em documentos Dovecot.
Se você estiver usando o Cyrus, há um recurso de supressão de entrega de mensagens duplicadas que pode ser ativado usando
suppress_duplicates = yes
.fonte
duplicate
extensão funciona no nível do usuário. Eu estava tentando parar duplicatas em vários usuários para / Cc-d em umafileinto
caixa de correio central . Isso não funciona. Também era necessário definir uma entrada catchfixvirtual_alias_maps
all postfix , como, por exemplo@domain.com [email protected]
, a verificação duplicada da peneira atingirácatchall
a lista duplicada do usuário.Uma solução que funciona para mim é add
-o receive_override_options=no_address_mappings
onmaster.cf
Aqui o documento: http://www.postfix.org/postconf.5.html#receive_override_options
fonte
Isto é de algumas perguntas antigas do postfix:
O Postfix envia mensagens duplicadas Algumas pessoas reclamam que o Postfix envia mensagens duplicadas. Isso acontece sempre que uma mensagem é enviada para vários endereços que atingem o mesmo usuário. Exemplos de tais cenários são:
Então, por design, você está vendo esse comportamento. Talvez se você encontrar um filtro de conteúdo capaz de remover IDs de mensagem duplicados, poderá eliminá-lo após o evento de entrega.
O Sendmail não tem esse problema porque expande tudo primeiro e retira as duplicatas.
fonte
A solução oficial está aqui. Http://osdir.com/ml/mail.postfix.devel/2007-05/msg00010.html
duplicate_filter_limit (10000) O número máximo de endereços lembrados pelo destinatário duplicam filtros para aliases (5) ou expansão virtual (5), ou para exibições de fila showq (8) (com lançamentos anteriores do Postfix, o limite padrão era 1000).
duplicate_filter_style (strict) A política de filtro de destinatários duplicados: estrita ou pragmática.
fonte
Coloquei isso no meu main.cf e funcionou bem, mas apenas para emails enviados do meu domínio. Ainda tenho duplicatas se enviar e-mail de fora do meu domínio (yahoo para o meu domínio, por exemplo.)
fonte: http://article.gmane.org/gmane.mail.postfix.user/119783
fonte