Configurando um sistema de encaminhamento automático de e-mail para um grande conjunto de contas de e-mail

0

Digamos que eu queira que as pessoas enviem e-mails para o meu servidor e desejo encaminhá-las para diferentes endereços de e-mail. Por exemplo, tenho um mapeamento a seguir:

[email protected] => [email protected]
[email protected] => [email protected]
[email protected] => [email protected]
...
[email protected] => [email protected]

Esta lista pode crescer para um grande número e eu quero poder enviá-las facilmente. Eu também quero deixar os usuários configurarem facilmente para que eles possam definir o mapeamento para si mesmos (assim como você pode facilmente configurar o encaminhamento no Gmail, etc.)

Atualmente eu tenho postfix no meu servidor, mas parece que com o postfix eu tenho que editar o arquivo de configuração e recarregar o tempo todo e não soa escalável quando eu estou pensando em uma lista enorme.

Qual é a melhor maneira de conseguir isso? Eu não necessariamente tenho que ir com o postfix e posso usar um sistema totalmente diferente que se encaixa nesse propósito, se necessário.

    
por Vlad 12.07.2015 / 04:57

1 resposta

1

O postfix suporta muitas tabelas de pesquisa e você pode usar tabelas de pesquisa de banco de dados ( mysql,pgsql or sqlite ) para armazenar essas grandes listas e você não precisa recarregar o postfix ao usá-los. Digamos que você tenha uma tabela forwards no banco de dados do Postgres com as colunas emailaddress e forwards .

emailaddress         forwards
[email protected]    [email protected]
[email protected]    [email protected]
[email protected]    [email protected]

e você pode configurar seu postfix para usá-lo.

#/etc/postfix/main.cf
#... other main.cf contents omitted
virtual_alias_domains = myserver.net
virtual_alias_maps = pgsql:/etc/postfix/pgsql_forwards.cf
#...

e o conteúdo de /etc/postfix/pgsql_forwards.cf deve ser algo como

#/etc/postfix/pgsql_forwards.cf
dbname = emaildb
hosts = db.example.net
user = emailuser
password = somerandompass
query = SELECT forwards FROM forwards where emailaddress='%s';
  • Mas primeiro verifique o que todas as tabelas de consulta são compiladas com o seu postfix executando postconf -m . Eu vi muitos usando mysql .
  • E para permitir que seus usuários configurem-se para frente, você terá que fornecer a eles um webapp que atualizará a tabela de banco de dados usada pelo postfix.

Espero que ajude.

    
por clement 12.07.2015 / 08:21