Postfix e MySQL · 4 min read · Jan 13, 2026
Usuários Virtuais E Domínios Com Postfix, Courier, MySQL E SquirrelMail (Ubuntu 12.04 LTS) - Página 4
12 Testar Postfix
Para ver se o Postfix está pronto para SMTP-AUTH e TLS, execute
telnet localhost 25Depois de estabelecer a conexão com seu servidor de e-mail Postfix, digite
ehlo localhostSe você ver as linhas
250-STARTTLSe
250-AUTH PLAIN LOGINtudo está bem:
root@server1:/usr/local/sbin# telnet localhost 25
Tentando 127.0.0.1…
Conectado a localhost.localdomain.
O caractere de escape é ‘^]’.
220 server1.example.com ESMTP Postfix (Ubuntu)
<– ehlo localhost
250-server1.example.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
<– quit
221 2.0.0 Tchau
Conexão fechada pelo host remoto.
root@server1:/usr/local/sbin#
Digite
quitpara retornar ao shell do sistema.
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 em 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:
| source | destination | |
| [email protected] | [email protected] | Redireciona e-mails para [email protected] para [email protected] |
| @example.com | [email protected] | Cria uma conta Catch-All para [email protected]. Todos os e-mails 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 e-mails para [email protected] ainda chegarão a [email protected]). |
| @example.com | @anotherdomain.tld | Isso redireciona todos os e-mails para example.com para o mesmo usuário em anotherdomain.tld. Por exemplo, e-mails para [email protected] serão encaminhados para [email protected]. |
| [email protected] | [email protected], [email protected] | Encaminha e-mails para [email protected] para dois ou mais endereços de e-mail. Todos os endereços de e-mail listados sob destino recebem uma cópia do e-mail. |
A tabela de transporte pode ter entradas como estas:
| domain | transport | |
| example.com | : | Entrega e-mails para example.com localmente. Isso é como se este registro não existisse nesta tabela. |
| example.com | smtp:mail.anotherdomain.tld | Entrega todos os e-mails para example.com via smtp para o servidor mail.anotherdomain.com. |
| example.com | smtp:mail.anotherdomain.tld:2025 | Entrega todos os e-mails 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 o Postfix de fazer buscas no 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 e-mails são entregues a mail.anotherdomain.tld. | | [email protected] | smtp:mail.anotherdomain.tld | E-mails 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 as 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 Enviar Um E-mail de Boas-Vindas Para Criar Maildir
Quando você cria uma nova conta de e-mail e tenta buscar e-mails dela (com POP3/IMAP), provavelmente receberá mensagens de erro dizendo que o Maildir não existe. O Maildir é criado automaticamente quando o primeiro e-mail chega para a nova conta. Portanto, é uma boa ideia enviar um e-mail de boas-vindas para uma nova conta.
Primeiro, instalamos o pacote mailx:
apt-get install mailutilsPara enviar um e-mail de boas-vindas para [email protected], fazemos isso:
mailx [email protected]Você será solicitado a inserir o assunto. Digite o assunto (por exemplo, Boas-vindas), pressione ENTER e na próxima linha digite sua mensagem. Quando a mensagem estiver pronta, pressione ENTER novamente para que você esteja em uma nova linha, depois pressione CTRL+D; se você não quiser cc o e-mail, pressione ENTER novamente:
root@server1:/usr/local/sbin# mailx [email protected]
Cc: <– ENTER
Assunto: Boas-vindas <– ENTER
Boas-vindas! Divirta-se com sua nova conta de e-mail. <– ENTER
<– CTRL+D
root@server1:/usr/local/sbin#
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.