Postfix MySQL · 3 min read · Oct 07, 2025

Usuários Virtuais E Domínios Com Postfix, Courier E MySQL (Debian Etch) - Página 6

13 Preencher O Banco De Dados E Testar

Para preencher o banco de dados, você pode usar o shell do MySQL:

mysql -u root -p  
 USE mail;

Pelo menos você precisa criar entradas nas tabelas domains e users:

INSERT INTO `domains` (`domain`) VALUES ('example.com');  
 INSERT INTO `users` (`email`, `password`, `quota`) VALUES ('[email protected]', ENCRYPT('secret'), 10485760);

(Por favor, tenha cuidado para usar a sintaxe ENCRYPT na segunda instrução INSERT para criptografar a senha!)

Se você quiser fazer entradas nas outras duas tabelas, isso seria assim:

INSERT INTO `forwardings` (`source`, `destination`) VALUES ('[email protected]', '[email protected]');  
 INSERT INTO `transport` (`domain`, `transport`) VALUES ('example.com', 'smtp:mail.example.com');

Para sair do shell do MySQL, digite

quit;

Para a maioria das pessoas, é mais fácil ter uma interface gráfica para o MySQL; portanto, você também pode usar o phpMyAdmin (neste exemplo sob http://192.168.0.100/phpmyadmin/ ou http://server1.example.com/phpmyadmin/) para administrar o banco de dados mail. Novamente, ao criar um usuário, certifique-se de usar a função ENCRYPT para criptografar a senha:

Não acho que eu precise explicar mais sobre as tabelas de domínios e usuários.

A tabela de encaminhamentos pode ter entradas como as seguintes:

sourcedestination
[email protected][email protected]Redireciona emails para [email protected] para [email protected]
@example.com[email protected]Cria uma conta Catch-All para [email protected]. Todos os emails para example.com chegarão a [email protected], exceto aqueles que existem na tabela de usuários (ou seja, se [email protected] existir na tabela de usuários, os emails para [email protected] ainda chegarão a [email protected]).
@example.com@anotherdomain.tldIsso redireciona todos os emails para example.com para o mesmo usuário em anotherdomain.tld. Por exemplo, emails para [email protected] serão encaminhados para [email protected].
[email protected][email protected], [email protected]Encaminha emails para [email protected] para dois ou mais endereços de email. Todos os endereços de email listados sob destino recebem uma cópia do email.

A tabela de transporte pode ter entradas como estas:

domaintransport
example.com:Entrega emails para example.com localmente. Isso é como se esse registro não existisse nesta tabela.
example.comsmtp:mail.anotherdomain.tldEntrega todos os emails para example.com via smtp para o servidor mail.anotherdomain.com.
example.comsmtp:mail.anotherdomain.tld:2025Entrega todos os emails para example.com via smtp para o servidor mail.anotherdomain.com, mas na porta 2025, não 25, que é a porta padrão para smtp.

| example.com | smtp:[1.2.3.4]
smtp:[1.2.3.4]:2025
smtp:[mail.anotherdomain.tld] | Os colchetes impedem que o Postfix faça buscas do registro MX DNS para o endereço entre colchetes. Faz sentido para endereços IP. | | .example.com | smtp:mail.anotherdomain.tld | O correio para qualquer subdomínio de example.com é entregue a mail.anotherdomain.tld. | | * | smtp:mail.anotherdomain.tld | Todos os emails são entregues a mail.anotherdomain.tld. | | [email protected] | smtp:mail.anotherdomain.tld | Emails para [email protected] são entregues a mail.anotherdomain.tld. |

Veja

man transport

para mais detalhes.

Por favor, tenha em mente que a ordem das entradas na tabela de transporte é importante! As entradas serão seguidas de cima para baixo.

Importante: O Postfix usa um mecanismo de cache para os transportes, portanto, pode levar um tempo até que suas alterações na tabela de transporte tenham efeito. Se você quiser que elas tenham efeito imediatamente, execute

postfix reload

depois de fazer suas alterações na tabela de transporte.

14 Referências

15 Links

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.