Configurando um sistema automatizado de encaminhamento de e-mail para um grande conjunto de contas de e-mail

Configurando um sistema automatizado de encaminhamento de e-mail para um grande conjunto de contas de e-mail

Digamos que eu queira que as pessoas enviem e-mails para o meu servidor e encaminhe todos eles para endereços de e-mail diferentes. Por exemplo, tenho o seguinte mapeamento:

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

Esta lista pode crescer para um número enorme e quero poder encaminhá-los todos facilmente. Também quero permitir que os usuários configurem facilmente para que possam definir o mapeamento por conta própria (assim como você pode configurar facilmente o encaminhamento no Gmail, etc.)

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

Qual a melhor maneira de alcançar isto? Não preciso necessariamente usar o postfix e posso usar um sistema totalmente diferente que atenda a esse propósito, se necessário.

Responder1

Postfix suporta muitosTabelas de pesquisae você pode usar tabelas de pesquisa de banco de dados ( mysql,pgsql or sqlite) para armazenar listas tão grandes e não precisar recarregar o postfix ao usá-las. Digamos que você tenha uma tabela forwardsem seu banco de dados postgres com colunas emailaddresse 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.cfdeve 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 certifique-se de que todas as tabelas de pesquisa sejam compiladas com seu postfix executando postconf -m. Já vi muitos usando mysql.
  • E para permitir que seus usuários configurem os próprios encaminhamentos, você terá que fornecer a eles algum webapp que atualizará a tabela do banco de dados usada pelo postfix.

Espero que ajude.

informação relacionada