Exim catchall e escreve arquivos de e-mail individuais

1

Quero encaminhar todos os e-mails recebidos para domínios locais somente para uma única conta, se uma conta não estiver configurada para esse usuário.

Eu também gostaria que cada email fosse escrito em seu próprio arquivo na pasta do usuário.

Eu tenho um usuário catchall com / home / catchall / path onde eu tenho uma pasta de email feita para isso, mas até agora os e-mails não são entregues (assim, minha regra não funcionou) ou eles entregam para / etc / mail / arquivo catchall.

Eu tenho tentado juntar algo da configuração do Exim, mas até agora nada parece funcionar.

link

    
por transilvlad 13.11.2012 / 17:13

2 respostas

1

Definir o Exim para capturar todos os emails enviados para domínios locais:

Depois:

begin routers

Adicionar:

catchall_pub:
  driver = redirect
  domains = +local_domains
  user = catchall
  data = catchall@localhost

Isso permitirá capturar todos os locais_domínios. Eles são definidos assim:

domainlist local_domains = @ : localhost : localhost.localdomain : example.com

Observação: você pode simplesmente especificar para capturar um único domínio e fazer várias regras para vários domínios.

Para configurar o Exim para criar arquivos individuais para cada e-mail, basta alternar a entrega local para o modo de diretório da seguinte forma:

Encontrar:

local_delivery:
  driver = appendfile
  file = /var/mail/$local_part
  delivery_date_add
  envelope_to_add
  return_path_add
  group = mail
  mode = 0660

Adicione no lugar de file = /var/mail/$local_part :

  directory = $home/mail
  maildir_format
  maildir_use_size_file  

Observação: isso criará automaticamente um diretório de e-mail na pasta inicial do usuário quando ele receber seu primeiro e-mail. A estrutura é a bem conhecida cur /, new /, tmp / one.

    
por 13.11.2012 / 19:03
1

Não é tão claro o que você realmente quer dizer "cada email seja escrito em seu próprio arquivo"

Se você usar o formato maildir, todas as mensagens armazenadas em arquivos separados de qualquer maneira. Basta adicionar roteador especial APÓS todos os existentes:

unknown:
       driver          = redirect
       domains         = +local_domains
       data            = [email protected]

Se você usa o formato da caixa de correio e deseja que as mensagens de determinado usuário sejam armazenadas em seu próprio arquivo de caixa de correio, use o transporte especial:

# router
unknown:
           driver          = accept
           domains         = +local_domains
           transport       = t_unknown

# transport
t_unknown:
           driver          = appendfile
           file            = /var/mail/$domain/$local_part
           group           = mail
           user            = $local_part
           mode            = 0660
    
por 13.11.2012 / 18:07

Tags