Apelidos aliases e e-mails duplicados, como corrigir?

17

Eu tenho aliases configurados no postfix, como os seguintes:

[email protected]:    [email protected], [email protected] ...

Quando um email é enviado para [email protected], e qualquer um dos destinatários nesse alias é cc: ed, o que é bastante comum (por exemplo: "Responder a todos"), o e-mail é entregue em duplicatas. Por exemplo, se um e-mail for enviado para [email protected] e [email protected] for cc: ed, ele será entregue duas vezes. De acordo com a FAQ do Postfix , isso ocorre por padrão, pois o Postfix envia e-mail em paralelo sem expandir os grupos, o que torna mais rápido que o sendmail. Agora tudo bem, mas é possível configurar o Postfix para realmente remover destinatários duplicados antes de enviar o e-mail?

Encontrei muitas postagens de pessoas de toda a rede que têm 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 no caminho? Eu tentei educar meus usuários, mas é muito fútil eu tenho medo ...

Estou executando o postfix no Mac OS X Server 10.6, o amavis está definido como content_filter e o dovecot está 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ários motivos, não posso substituir a configuração padrão do OS X, o que significa que postfix, amavis e dovecot permanecem. Eu posso, no entanto, adicionar a ele, se desejar.

    
por Marcus Stade 15.02.2010 / 13:19

6 respostas

4

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 único ID de mensagem. No caso de ser entregue a várias pessoas, o ID da mensagem deve ser o mesmo, por isso, guardamos os Message-Id cabeçalhos que vimos e descartamos e os futuros que correspondem a essa lista.

De link

:0 Wh: msgid.lock
| formail -D 8192 ~/.procmail/msgid.cache
    
por 15.02.2010 / 14:24
3

Existe uma maneira de fazer isso, mas não usando o próprio Postfix.

Se você estiver usando um Dovecot razoavelmente recente com a implementação Pigeonhole do Sieve , há uma extensão especial que pode ser usada para desduplicação na entrega. No Dovecot mais antigo que o 2.2.18, o nome desta extensão é "vnd.dovecot.duplicate" e está desabilitado por padrão, em lançamentos mais novos a extensão é chamada "duplicada" e já deve estar ativado, mas ativá-lo explicitamente não prejudicará.

/etc/dovecot/conf.d/90-sieve.conf:

plugin {
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve

  sieve_before = /mnt/mail/users/global_sieve/deduplicate.sieve
  # sieve_before2 = /mnt/mail/users/global_sieve/antispam.sieve

  sieve_extensions = +vnd.dovecot.duplicate  # for dovecot < 2.2.18
  #sieve_extensions = +duplicate             # for dovecot >= 2.2.18
}

Em seguida, crie o script sieve para lidar com a deduplicação (você pode ajustar o nome do arquivo como quiser).

/mnt/mail/users/global_sieve/deduplicate.sieve:

require "vnd.dovecot.duplicate"; # for dovecot < 2.2.18
# require "duplicate";           # for dovecot >= 2.2.18

if duplicate {
    discard;
    stop;
}

Compile o script usando sievec e certifique-se de que o script seja legível pelo usuário dovecot . Mais informações em Dovecot

Se você estiver usando o Cyrus, há uma supressão da entrega de mensagens duplicadas recurso que pode ser ativado usando suppress_duplicates = yes .

    
por 18.12.2015 / 09:41
1

Uma solução que funciona para mim é adicionar -o receive_override_options=no_address_mappings on master.cf

Aqui o documento: link

    
por 02.08.2017 / 14:01
0

Isso é de algumas perguntas antigas do postfix:

O postfix envia correio duplicado Algumas pessoas vão reclamar 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:

  • One message is sent to the user, and to an alias that lists the user. The user receives one copy of the mail directly, and one copy via the alias.

    • One message is sent to multiple aliases that list the user. The user receives one copy of the mail via each alias.

Some people will even argue that this is the "right" behavior. It is probably more a matter of expectation and of what one is used to.

This can be "fixed" only by making Postfix slower. In the above examples, Postfix would first have to completely expand all distribution lists before starting any delivery. By design, Postfix delivers mail to different destinations in parallel, and local delivery is no exception. This is why Postfix can be faster than sendmail.

Então, por design, você está vendo esse comportamento. Talvez, se você encontrar um filtro de conteúdo que possa remover IDs de mensagens duplicadas, possa eliminá-lo após o evento de entrega.

O Sendmail não tem esse problema porque expande tudo primeiro e remove os duplicados.

    
por 18.02.2010 / 19:04
0

A solução oficial está aqui .. link

duplicate_filter_limit (10000) O número máximo de endereços lembrados pelo destinatário filtros duplicados para aliases (5) ou expansão de alias virtuais (5), ou para exibições de fila showq (8) (com releases anteriores do Postfix o limite padrão era 1000).

duplicate_filter_style (estrito) A política de filtro do destinatário duplicado: estrita ou pragmática.

    
por 06.08.2010 / 05:27
0
enable_original_recipient=no

Eu coloquei isso no meu main.cf e funcionou bem, mas apenas para emails enviados do meu domínio. Eu ainda tenho duplicatas se eu enviar e-mails de fora do meu domínio (yahoo para o meu domínio por exemplo).

fonte: link

    
por 25.04.2016 / 13:40