Postfix Tutorial · 4 min read · Sep 28, 2025

Usuários Virtuais E Domínios Com Postfix, Courier, MySQL E SquirrelMail (Debian Lenny) - Página 4

12 Testar Postfix

Para ver se o Postfix está pronto para SMTP-AUTH e TLS, execute

telnet localhost 25

Depois de estabelecer a conexão com seu servidor de email Postfix, digite

ehlo localhost

Se você ver as linhas

250-STARTTLS

e

250-AUTH LOGIN PLAIN

tudo está bem:

server1:~# telnet localhost 25  
Tentando 127.0.0.1...  
Conectado a localhost.  
O caractere de escape é '^]'.  
220 server1.example.com ESMTP Postfix (Debian/GNU)  
ehlo localhost  
250-server1.example.com  
250-PIPELINING  
250-SIZE 10240000  
250-VRFY  
250-ETRN  
250-STARTTLS  
250-AUTH LOGIN PLAIN  
250-AUTH=LOGIN PLAIN  
250-ENHANCEDSTATUSCODES  
250-8BITMIME  
250 DSN  
quit  
221 2.0.0 Tchau  
Conexão fechada pelo host remoto.  
server1:~#

Digite

quit

para 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ê deve 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:

sourcedestination
[email protected][email protected]Redireciona emails de [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 de [email protected] para dois ou mais endereços de email. Todos os endereços de email listados sob o 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 este 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 o Postfix de fazer buscas do registro MX DNS para o endereço entre colchetes. Faz sentido para endereços IP. | | .example.com | smtp:mail.anotherdomain.tld | Email 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 você veja as alterações na tabela de transporte terem 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 Email De Boas-Vindas Para Criar Maildir

Quando você cria uma nova conta de email e tenta buscar emails dela (com POP3/IMAP), provavelmente você receberá mensagens de erro dizendo que o Maildir não existe. O Maildir é criado automaticamente quando o primeiro email chega para a nova conta. Portanto, é uma boa ideia enviar um email de boas-vindas para uma nova conta.

Primeiro, instalamos o pacote mailx:

apt-get install mailx

Para enviar um email 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), depois 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 copiar o email, pressione ENTER novamente:

root@server1:/usr/local/sbin# mailx [email protected]
Assunto: Boas-vindas <– ENTER
Boas-vindas! Divirta-se com sua nova conta de email. <– ENTER
<– CTRL+D
Cc: <– ENTER
root@server1:/usr/local/sbin#

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.