Posso obter o exim para rejeitar alguns endereços de e-mail

1

Eu tenho o exim configurado para aceitar o endereço local com um sufixo de -. Então, se joe for um usuário, então joe-anything será aceito.

No entanto, há alguns desses subendereços que eu quero rejeitar (eles se tornaram muito spam infestados e nada útil vem sobre eles). Existe uma maneira de fazer isso antes de ser prorcessed pelo roteador do usuário local. Posso fazer algo em um arquivo de alias?

Estou correndo no Ubuntu 10.04

    
por justintime 29.12.2010 / 12:05

4 respostas

2

Adicione outro roteador antes do roteador do usuário local que existe somente para rejeitar os combos lp / sufixo que você deseja rejeitar. Aqui está um exemplo com os sufixos codificados:

reject_suffixes:
  driver = redirect
  local_parts = joe-badsuff1 : joe-badsuff2
  allow_fail
  fail_verify = true
  data = :fail: invalid email <$local_part@$domain>

O outro caminho a percorrer seria pesquisá-lo a partir de um arquivo. O mesmo conceito básico, apenas com uma pesquisa de arquivos:

reject_suffixes:
  driver = redirect
  local_parts = /path/to/file
  allow_fail
  fail_verify = true
  data = :fail: invalid email <$local_part@$domain>

O arquivo apontado por local_parts é apenas uma lista de local_parts para rejeitar:

joe-badsuff1
jane-badsuff2
jack-badsuff1
# etc...

Eu prefiro usar roteadores para fazer isso em vez de ACLs, porque ele captura todos os casos de borda, como mensagens enviadas localmente (e, portanto, que não atrapalham o comando rcpt acl), etc.

    
por 29.12.2010 / 14:31
0

Você pode criar um acl para rejeitar esses endereços. Para a seção "begin acl", adicione algo assim:

deny message = This address is locked.
  recipients = /a/file/containing/the/rejected/addresses

Isso rejeitará a mensagem mesmo que os destinatários sejam aceitos. A parte dos "destinatários" aqui é uma lista simples, você pode usar qualquer tipo de lista ao invés de especificar um arquivo (busca sql, lista codificada, qualquer coisa).

    
por 29.12.2010 / 14:24
0

Basta adicionar um alias para eles.

# alias   : :action:  Comment 
joe-spam  : :fail: Disabled due to spam volume.
    
por 29.12.2010 / 18:18
0

Eu gosto de gerenciar os endereços rejeitados junto com os endereços aceitos no mesmo arquivo de alias (eu tenho um para cada domínio). Eu também quero apenas um roteador para cada domínio.

Se você tiver um roteador fazendo uma pesquisa em um arquivo de alias, pesquise primeiro a $ original_local_part e depois a $ local_part, já que $ original_local_part contém o endereço completo com o sufixo (também conhecido como subaddress):

  data = ${lookup {$local_part$local_part_suffix@$domain} nwildlsearch {/cfg/aliases} {$value}\
        {${lookup {$local_part@$domain}                   nwildlsearch {/cfg/aliases} {$value}}}}

Em seguida, no arquivo de alias, basta adicionar uma linha para os subendereços que você deseja rejeitar:

[email protected]: :fail: no such user, too much spam
[email protected]: [email protected]

Portanto, se o exim encontrar o sub-endereço ("[email protected]") na primeira pesquisa, ele será manipulado (falha no meu exemplo), mas se não for, a primeira pesquisa falhará e causará o segundo para procurar apenas a parte local ("[email protected]") e encontrar e aceitar / redirecionar isso. Se não houver nenhum sub-endereço no endereço atual, ele poderá coincidir na primeira consulta.

    
por 14.10.2015 / 16:46