Informática Numaboa - Linux
Slackware + Postfix
Sex 17 Mar 2006 12:02 |
- Detalhes
- Categoria: Como fazer instalações
- Atualização: Quinta, 03 Abril 2008 13:50
- Autor: vovó Vicki
- Acessos: 29691
O Postfix é um dos MTA (Mail Transfer Agent) mais fácil de instalar e de configurar. Talvez seja este o motivo da crescente utilização deste agente de correio e também foi isto que pesou na hora da minha escolha. O sendmail é o MTA mais tradicional e o projeto do qmail anda devagar quase parando, então, resolvi dar uma chance ao Postfix criado por Wietse Venema
Mal sabia eu do tamanho da encrenca. Depois de patinar um bocado, resolvi "picar" as tarefas no velho estilo do "uma coisa de cada vez". Aliás, este também será o estilo do tutorial: ao invés de um tutorialzão, serão vários tutoriais que abordam especificamente os componentes do sistema onde o Postfix funciona como um "kernel".
O sistema completo será Postfix + Maildir + Virtual Hosts + SASL + TLS + IMAP + MySQL + ClamAV + SpamAssassin + PostfixAdmin + Squirrel Mail. Este primeiro tutorial da série trata apenas da instalação básica do Postfix. Vou tentar relatar tudo o que aconteceu, principalmente os erros que cometi e a falta de informações que mais me atrapalharam. Assim como já fui uma newbie, outros principiantes que não conhecem o caminho das pedras devem cair nas mesmas armadilhas e, se isto puder ser evitado, é ponto a favor de todos.
O servidor Postfix
Entender o processo antes de partir para uma instalação geralmente representa uma enorme economia de tempo. Na minha inocência de principiante, achava que o Postfix era um serviço para enviar e para ler e-mails. Só que não é bem assim. O Postfix é um servidor que disponibiliza uma conexão SMTP (Send Message Transfer Protocol) para enviar e para receber mensagens. Para enviar um email, nosso servidor precisa fazer contato com outro MTA e, se receber autorização, faz a entrega. Outros MTAs fazem contato com o nosso servidor e, se nosso servidor der autorização, os MTAs entregam as mensagens e nosso servidor faz o recebimento armazenando as mensagens num diretório previamente especificado.
Clientes Postfix
Os donos das mensagens, se tiverem acesso à máquina, podem abrir o arquivo de emails e ler as mensagens. Na maioria das vezes isto é impossível pois nenhum administrador de sistema é louco de colocar uma máquina servidora na mão de um monte de usuários. Neste caso, os donos das mensagens podem usar dois métodos para ler seus emails: programas clientes (como o famigerado Outlook, o Thunderbird ou o Pegasus), também chamados de UA (User Agent), ou aplicativos de Internet (como o webmail ou o squirrel mail) que se comunicam com o Postfix e transferem sequencialmente as mensagens contidas numa caixa de correio eletrônico (remota) para um computador local através dos protocolos POP3 ou IMAP.
O POP3 (Post Office Protocol Versão 3) é o protocolo mais antigo. Uma transferência ocorre da seguinte maneira:
- É estabelecida uma ligação TCP (Transmission Control Protocol) entre a aplicação cliente de e-mail (User Agent - UA) e o servidor onde está a caixa de correio (Messsage Transfer Agent - MTA);
- O utilizador se autentica;
- Todas as mensagens existentes na caixa de correio são transferidas sequencialmente para o computador local;
- As mensagens são apagadas da caixa de correio (opcionalmente, o protocolo pode ser configurado para que as mensagens não sejam apagadas da caixa de correio);
- A ligação com o servidor é terminada;
- O utilizador pode agora ler e processar as suas mensagens (off line).
O IMAP (Internet Message Access Protocol) é um protocolo de gerenciamento de correio eletrônico superior em recursos ao POP3. A última versão é o IMAP4. As mensagens ficam armazenadas no servidor e o usuário pode ter acesso a suas pastas e mensagens em qualquer computador, tanto por webmail como por cliente de correio eletrônico. Outra vantagem deste protocolo é o compartilhemento de caixas postais entre usuários membros de um grupo de trabalho. Além disso, é possível efetuar buscas por mensagens diretamente no servidor, utilizando palavras-chaves. Mas há um inconveniente: não tem a característica off line do POP3.
Etapas da instalação do Postfix
O roteiro de uma instalação básica do Postfix pode ser resumido em:
- Se existir, bloquear o sendmail
- Criar grupos e usuários do sistema
- Download e compilação
- Conexão SMTP
- Configuração do Postfix
- Testar a configuração
- Teste com mailto
- Teste com telnet
- Parâmetros mais importantes
- Ferramentas do Postfix
1. Bloquear o sendmail
Se você instalou o Slackware com o sendmail, a primeira providência é eliminar alguns arquivos para que não haja conflito de MTAs. Pra mal dos pecados, tanto o sendmail quanto o Postfix dependem de um binário que tem o mesmo nome, o /usr/sbin/sendmail!
# mv /usr/sbin/sendmail /usr/sbin/sendmail.OFF # mv /usr/bin/newaliases /usr/bin/newaliases.OFF # mv /usr/bin/mailq /usr/bin/mailq.OFF
2. Criar grupos e usuários do sistema
Vamos fazer uma série de compilações como usuário comum, ou seja, não como root. Para isto, é bom ter um diretório liberado para este usuário, onde ficarão os tarballs e de onde faremos as compilações. Optei por criar um grupo carteiro com um usuário sem senha carteiro com o diretório /usr/local:
# groupadd carteiro # useradd carteiro -g carteiro -d /usr/local # chown carteiro /usr/local
Além disto, vamos precisar de um grupo e de um usuário só para o Postfix. Será o responsável pelo daemon e por uma porção de tarefas específicas do Postfix e é recomendável que NÃO seja utilizado para outros daemons, arquivos ou diretórios. Fixei o grupo e o usuário em 1010 e chamei-os de postfix.
# groupadd postfix -g 1010 # useradd postfix -u 1010 -g 1010
Toda vez que root estiver no comando, o início da linha será #. Já o sinal % indica que os comandos estão sendo executados como usuário comum.
3. Download e compilação
Procure a versão mais atual do Postfix e faça o download para /usr/local. Quando procurei no [url=www.postfix.org]site oficial do Postfix[/url], a última versão era a 2.2.8:
# cd /usr/local # su carteiro % wget ftp://ftp.pucpr.br/postfix/official/postfix-2.2.8.tar.gz % tar zvxf postfix-2.2.8.tar.gz % cd postfix-2.2.8
Compilação e Instalação
Como esta é a instalação mais básica do Postfix, a compilação também será a mais básica de todas. Ainda como usuário carteiro, faça um make. Depois, como root, faça um make install. Caso você tenha uma instalação anterior do Postfix, ao invés de make install, use make upgrade.
% make % exit # make install
Se durante o make install você receber mensagens do tipo "gcc -Wmissing-prototypes ...", não se preocupe. São apenas mensagens de alerta porque algumas referências não foram encontradas e estão sendo procuradas em outros locais. Perdi um tempão procurando esta informação para depois descobrir que era só tocar o barco :blush:
Se o make install correr bem, no final o Postfix vai pedir alguns parâmetros de configuração. O default da maioria delas pode ser aceito (basta dar enter). Observe que o usuário postfix e o grupo postdrop são os valores default dos parâmetros mail_owner e setgid_group. Foi por isto que preparamos grupos e usuários antes de instalar.
Se você aceitou todos os valores default, os principais diretórios e links estão assim distribuídos:
Diretório de configuração | /etc/postfix |
Diretório do daemon | /usr/libexec/postfix |
Diretório de comandos | /usr/sbin |
Diretório da fila (queue) | /var/spool/postfix |
Caminho do sendmail | /usr/sbin/sendmail |
Caminho do newaliases | /usr/bin/newaliases |
Caminho do mailq | /usr/bin/mailq |
Proprietário do mail | postfix |
Grupo | postdrop |
O grupo postdrop é para enviar emails e para a administração da fila. Este grupo precisa ter um número de ID que não seja compartilhado com outras contas, nem mesmo a do proprietário do Postfix.
4. Conexão SMTP
O Postfix coloca à disposição uma conexão SMTP. A porta padrão para esta conexão é a 25. Como ele ainda não está no ar, o serviço ainda não está disponível. Para verificar, use o comando nmap com o parâmetro -sT (para escanear portas da conexão TCP):
# nmap -sT localhost Starting nmap 3.93 ( http://www.insecure.org/nmap/ ) at 2006-03-17 19:58 BRT Interesting ports on localhost (127.0.0.1): (The 1655 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 22/tcp open ssh 37/tcp open time 53/tcp open domain 80/tcp open http 113/tcp open auth 953/tcp open rndc Nmap finished: 1 IP address (1 host up) scanned in 0.197 seconds
Note que não aparece o SMTP na listagem. Também podemos fazer o teste usando o telnet - quando tentamos fazer conexão através da porta 25, o telnet nos avisa que a conexão foi recusada:
# telnet localhost 25 ... Connection refused
Neste ponto, apesar do Postfix ainda não estar configurado, vamos levantar o serviço e fazer um novo teste:
# postfix start # nmap -sT localhost Starting nmap 3.93 ( http://www.insecure.org/nmap/ ) at 2006-03-17 19:58 BRT Interesting ports on localhost (127.0.0.1): (The 1655 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 22/tcp open ssh 25/tcp open smtp 37/tcp open time 53/tcp open domain 80/tcp open http 953/tcp open rndc Nmap finished: 1 IP address (1 host up) scanned in 0.197 seconds
Agora a porta 25 está aberta, pronta para intermediar conexões.
Não faça o teste com o telnet quando o Postfix (sem configuração) estiver no ar. O telnet pendura!
Para conferir o serviço Postfix, use:
# ps aux | grep postfix root 25568 0.0 0.4 5376 1160 ? Ss Feb26 0:53 /usr/libexec/postfix/master postfix 25570 0.0 0.6 5444 1604 ? S Feb26 0:11 qmgr -l -t fifo -u postfix 25587 0.0 0.5 5408 1412 ? S Feb26 0:02 tlsmgr -l -t unix -u
Testes terminados, hora de baixar o Postfix.
# postfix stop
:texto: A leitura complementar recomendada para este tópico é [url = www.postfix.org/INSTALL.html]Postfix Installation From Source[/url].
5. Configuração do Postfix
O arquivo de configuração principal do Postfix é o main.cf localizado no diretório /etc/postfix. Inicialmente vamos configurar apenas os parâmetros essenciais:
- mail_owner é o usuário proprietário do Postfix.
- myhostname é o nome do servidor e deve ser um que esteja configurado no serviço named do Bind.
- mydomain é a identificação do domínio principal.
- myorigin é o domínio que será adicionado a endereços não qualificados (endereços sem @numaboa.com.br).
- mydestination indica os endereços para os quais o Postfix faz entregas. Para evitar loops de entregas (um manda para o outro e o outro manda para o um...) deve-se listar, além de $myhostname e localhost.$mydomain, TODOS os hostnames da máquina separados por um espaço em branco.
- mynetworks indica os endereços de rede que podem enviar emails sem autenticação.
- relay_domains: o Postfix trabalha para estranhos (clientes fora das redes autorizadas em mynetworks) fazendo entregas apenas para destinatários autorizados indicados no parâmetro mydestination.
Muitos dos valores dos parâmetros do main.cf seguem os exemplos dados no tutorial do Bind. Eis o resumo dos parâmetros configurados até este ponto:
mail_owner = postfix myhostname = mail.numaboa.com.br mydomain = numaboa.com.br myorigin = $mydomain mydestination = $myhostname $mydomain ns1.$mydomain ns2.$mydomain www.$mydomain mail.$mydomain webmail.$mydomain ftp.$mydomain localhost.$mydomain mynetworks = 127.0.0.1 relay_domains = $mydestination
A sintaxe da configuração do Postfix tem características especiais: os nomes dos parâmetros podem ser usados como valores para definir outros parâmetros e estes nomes podem ser usados como valores antes ou depois de terem sido definidos. Por exemplo, as duas sequências abaixo são válidas:
mydomain = numaboa.com.br myorigin = $mydomain myorigin = $mydomain mydomain = numaboa.com.br
A tabela de aliases
Para identificar e redirecionar emails para os destinatários locais, o Postfix usa uma tabela de aliases compatível com o sendmail. As informações ficam em dois arquivos: um arquivo texto /etc/aliases e um arquivo indexado /etc/aliases.db. A localização do primeiro arquivo foi definida pelo parâmetro alias_maps no main.cf (nós não mexemos neste parâmetro porque não havia necessidade).
:lapis: DICA: o Postfix possui um utilitário que nos indica o valor de qualquer um dos parâmetros do main.cnf. É o postconf. Basta chamar o postconf seguido do nome do parâmetro para ver seu valor. Por exemplo:
# postconf alias_maps alias_maps = hash:/etc/aliases, nis:mail.aliases # postconf mynetworks mynetworks = 127.0.0.1
Existe um arquivo exemplo em /etc/postfix/ chamado aliases. Copie este arquivo para /etc e depois o edite para indicar a caixa postal do usuário root (que deve receber os emails com alertas do sistema).
# cp /etc/postfix/aliases /etc/aliases # vi /etc/aliases ... troque # Person who should get root's mail. Don't receive mail as root! root: you ... por # Person who should get root's mail. Don't receive mail as root! root: correio @numaboa.com.br
Para transformar o arquivo texto aliases no arquivo indexado aliases.db, use o comando newaliases:
# cd /etc # newaliases
:texto: A leitura complementar recomendada para este tópico é [url=www.postfix.org/BASIC_CONFIGURATION_README.html]Postfix Basic Configuration[/url].
6. Testando a configuração do Postfix
Vamos levantar novamente o Postfix e testar a porta 25 usando o telnet:
# postfix start # telnet 0 25 ... 220 mail.numaboa.com.br ESMTP Postfix quit 221 Bye Connection closed by foreign host.
Se você obteve a mesma resposta, o Postfix está respondendo. Mesmo assim (aprendi isto a duras penas), é bom conferir o comportamento do MTA. A primeira coisa é dar uma conferida no comportamento do Postfix e depois olhar no log:
# postfix check # egrep '(reject|warning|error|fatal|panic):' /var/log/maillog
E não é que tinha enrosco! Havia a mensagem warning:dict_nis_init:NIS domain name not ser - NIS lookups disabled. NIS significa Network Information System e é um sistema parecido com o servidor de nomes DNS. Como não temos este serviço instalado, o jeito é eliminar esta chamada no main.cf:
Após a linha comentada # alias_maps = hash:/etc/aliases, nis:mail.aliases adicione alias_maps = hash:/etc/aliases
Como alteramos o arquivo de configuração, precisamos dar um reload para que o Postfix tome conhecimento das mudanças:
# postfix reload
:lapis: DICA: A configuração do Postfix possui zilhões de parâmetros possíveis. Alguns deles estão no arquivo de configuração main.cf que foi instalado como exemplo. Tivemos sorte na procura do parâmetro porque alias_maps estava lá (inativo, porque estava comentado). Praticamente todos os parâmetros de configuração possuem valores default. Mas, e se não constarem no main.cf, como saber que valores são estes? Basta usar o utilitátio postconf com -d (d de default). Para ficar mais cômodo inspecionar todos os parâmetros, faça um pipe com less e use as teclas PageUp/PageDown ou das setas. Para sair da shell do less, digite q:
# postconf -d | less 2bounce_notice_recipient = postmaster access_map_reject_code = 554 address_verify_default_transport = $default_transport address_verify_local_transport = $local_transport address_verify_map = address_verify_negative_cache = yes address_verify_negative_expire_time = 3d address_verify_negative_refresh_time = 3h address_verify_poll_count = 3 address_verify_poll_delay = 3s address_verify_positive_expire_time = 31d address_verify_positive_refresh_time = 7d address_verify_relay_transport = $relay_transport address_verify_relayhost = $relayhost address_verify_sender = postmaster address_verify_service_name = verify address_verify_transport_maps = $transport_maps address_verify_virtual_transport = $virtual_transport alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases, nis:mail.aliases ...
Teste de envio local padrão Unix
Até o momento o Postfix está configurado para usar o padrão Unix, ou seja, usa o formato mailbox para as caixas de correio e identifica os usuários através da tabela aliases. Isto significa que, se um dos usuários do sistema receber emails, estes são guardados sequencialmente num arquivo que tem o nome do usuário, localizado no diretório /var/spool/mail.
Já temos tudo para testar o funcionamento do Postfix neste padrão: temos o usuário carteiro (lembra dele?) e o Postfix está devidamente configurado. Agora é só escolher um cliente.
7. Teste com mailto
# echo "Teste OK..." | mailto -s "Primeiro teste do Postfix" carteiro
onde
- echo é o comando para "ecoar" texto
- "Teste OK..." é o texto que deve ser entregue ao programa mailto e que é o texto do email
- | é o pipe que transfere o resultado do comando echo para o programa mailto
- mailto é um utilitário para enviar emails
- -s é a declaração de assunto (subject)
- "Primeiro teste do Postfix" é o assunto
- carteiro é o destinatário. Se quiser enviar para mais de um usuário, basta por na lista. Nomes dos usuários devem sempre estar em minúsculas e NÃO podem ter acentos.
Cruze os dedos, aperte a tecla Enter e inspecione o resultado:
# cd /var/log/mail # ls ... aparece o arquivo correio # elvis carteiro ... você vai ver algo parecido com From root @numaboa.com.br Sat Feb 11 20:54:34 2006 Return-Path:X-Original-To: carteiro Delivered-To: carteiro @numaboa.com.br Received: by mail.numaboa.com.br (Postfix, from userid 0) id 1585D3F70; Sat, 11 Feb 2006 20:54:34 -0200 (BRST) MIME-Version: 1.0 To: carteiro @numaboa.com.br Subject: Primeiro teste do Postfix Message-ID: <0_621_1139698474_1@ns2> Content-ID: <0_621_1139698474_2@ns2> Content-type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Date: Sat, 11 Feb 2006 20:54:34 -0200 (BRST) From: root @numaboa.com.br Teste OK...
Experimente mandar outro email onde o assunto ou o texto contenham palavras acentuadas ou caracteres especiais. Por exemplo, mande para o usuário carteiro um email com o texto "Teste para usuário carteiro". Vai aparecer uma mensagem de aviso do mailto (não é uma mensagem de erro) do tipo:
WARNING: You have entered 8-bit characters in what is supposed to be plain ASCII text...
Abra novamente o arquivo /var/spool/mail/carteiro. O email vai estar lá, só que o texto aparece como Teste para usu=E1rio carteiro, onde á foi substituído por =E1
O utilitário mailto também pode ser chamado sem qualquer tipo de parâmetro. Neste caso, o mailto vai apresentar as perguntas To: e Subject:. Depois disto, o cursor entra numa nova linha e fica esperando você digitar o texto. Terminado o texto, encerre o mailto com Ctrl+D.
8. Teste com telnet
Já sabemos que o telnet precisa usar a porta do SMTP, a 25. Quando enviamos uma mensagem através do telnet, ele pergunta o remetente. Como, por enquanto, temos apenas um usuário (carteiro), faremos com que carteiro envie uma mensagem para ele mesmo.
# telnet localhost 25 Trying 127.0.0.1 ... Connected to localhost. Escape character is '^]'. 220 mail.numaboa.com.br ESMTP Postfix mail from: carteiro 250 Ok rcpt to: carteiro 250 Ok data 354 End data with. teste de email pelo telnet . 250 Ok: queued as 7B7DD3F6E quit 221 Bye Connection closed by foreign host.
Se tiver curiosidade, dê mais uma olhada no arquivo do usuário carteiro em /var/spool/mail. Além disso, o mais importante no momento é conferir o trabalho do Postfix dando uma olhada no log:
# tail /var/log/maillog ... Feb 11 21:22:35 ns2 postfix/local[704]: 6320F3F70: to=<carteiro @numaboa.com.br>, orig-to=<carteiro>, relay=local, delay=0, status=sent (delivered to mailbox)
Alguns comentários
Bem pessoal, aqui termina este tutorial. Eu sei que esta é uma instalação meio capenga do Postfix - só podemos enviar emails localmente e lê-los abrindo na unha os arquivos onde estão guardados. Também nem chegamos perto dos protocolos POP3 e IMAP, essenciais para a leitura de emails, e não testamos nada com clientes (UA - User Agent). Mas tem uma explicação: como queremos montar um sistema Postfix bastante complexo e seguro sem perder o pé, cada passo importante ganhou um tutorial próprio. Só para adiantar, o próximo será substituir o padrão Unix com formato mailbox pelo formato Maildir.
Coloquei dois anexos neste tutorial que espero sirvam de fonte de consulta não só para este, mas também para os próximos tutoriais. O primeiro é uma lista dos principais parâmetros de configuração e, o segundo, uma lista de algumas ferramentas do Postfix.
:texto: Leitura complementar sugerida para os anexos: [url=www.linuxit.com.br/modules.php?name=Sections&op=viewarticle&artid=499]Manual do Postfix[/url] do Humberto Sartini.
9. Parâmetros mais importantes
Os parâmetros de configuração do Postfix são mais de 280. Os da tabela abaixo são os principais da configuração básica do Postfix.
APLICAÇÃO | PARÂMETRO |
Usuário do Postfix | mail_owner = postfix |
Nome do servidor | myhostname = servidor.meudominio.com.br |
Domínio do servidor | mydomain = meudominio.com.br |
Complemento de endereços incompletos | myorigin = $mydomain |
Interfaces que respondem pelo Postfix | inet_interfaces = all |
Destinos válidos | mydestination = $myhostname localhost.$mydomain $mydomain |
Confiar somente em (class / subnet / host) mynetworks e mynetworks_style são mutuamente exclusivos | mynetworks_style = host |
Redes liberadas para relay mynetworks e mynetworks_style são mutuamente exclusivos | mynetworks = |
Resposta para usuários não encontrados | unknown_local_recipient_reject_code = 550 |
Arquivos com aliases | alias_maps = hash:/etc/aliases |
Formato da caixa postal (Mailbox / Maildir) | home_mailbox = |
Diretório dos emails | mail_spool_directory = |
Tamanho da caixa do usuário (50 Mb) | mailbox_size_limit = 51200000 |
Tamanho máximo da mensagem (10 Mb) | message_size_limit = 10240000 |
Banner do servidor SMTP | smtpd_banner = $myhostname ESMTP $mail_name |
Nível de debug | debug_peer_level = 2 |
. |
Os parâmetros seguintes visam melhorar a segurança do servidor de email e combater o Spam.
APLICAÇÃO | PARÂMETRO |
Número máximo de destinatários para o mesmo email | smtpd_recipient_limit = 10 |
Respeitar a RFC821 - Mail From e Rcpt To | strict_rfc821_envelopes = yes |
Ativar checagem de helo | smtpd_helo_required = yes |
Listas RBL (anti-spam) | maps_rbl_domains = relays.ordb.org list.dsbl.org dun.dnsrbl.net spam.dnsrbl.net |
Após a conexão SMTP ser aceita, restrição ao cliente | smtpd_client_restrictions = permit_mynetworks reject_unknown_client reject_unauth_pipelining reject_rbl_client maps_rbl_domains |
Restrições durante o comando HELO/EHLO | smtpd_helo_restrictions = permit_mynetworks reject_invalid_hostname reject_unknown_hostname reject_non_fqdn_hostname reject_unauth_pipelining reject_rbl_client maps_rbl_domain |
Restrições ao MAIL FROM | smtpd_sender_restrictions = permit_mynetworks reject_unknown_sender_domain reject_non_fqdn_sender reject_unauth_pipelining |
Restrições ao RCPT TO | smtpd_recipient_restrictions = permit_mynetworks reject_unknown_recipient_domain reject_non_fqdn_recipient reject_unauth_pipelining |
. |
DICA: cuidado com algumas listas do parâmetro maps_rbl_domains pois bloqueiam emails do Brasil. Mais informações em [url=www.dnsstuff.com]DNS Stuff[/url] e em [url=rbls.org]Multi-RBL check and AS-numbercheck[/url].
Nas restrições, a diretiva reject_unknown_... checa se há entradas válidas A ou MX no DNS e reject_non_fqdn_... checa se os nomes são válidos.
Alguns outros parâmetros que você pode querer usar:
APLICAÇÃO | PARÂMETRO |
Enviar cópias de todos os emails que chegam para | always_bcc = O endereço de e-mail address está sendo protegido de spambots. Você precisa ativar o JavaScript enabled para vê-lo. |
Tamanho limite da mensagem de erro | bounce_size_limit = 50000 |
Tamanho máximo do cabeçalho (header) | header_size_limit = 102400 |
Entrega de emails para o mesmo destino remoto | default_destination_concurrency_limit = 20 |
Tempo de reenvio de email na fila | fast_flush_refresh_time = 12h |
Tempo para eliminar email da fila | fast_flush_purge_time = 1d |
Tempo do email na fila | maximal_queue_lifetime = 240m |
. |
As variáveis de tempo válidas são s para segundos, m para minutos, h para horas, d para dias e w para semanas.
10. Ferramentas do Postfix
Existem algumas ferramentas que vêm junto com o Postfix para facilitar o dia a dia do administrador do servidor de emails, geralmente chamado de postmaster. São elas:
Postalias
O postalias é usado para criar a base de dados dos aliases. Ele é o substituto do newaliases. Toda vez que o arquivo texto aliases for alterado, um novo aliases.db precisa ser gerado através desta ferramenta:
# postalias /etc/aliases
Postmap
O postmap é usado para criar uma base de dados hash. Ele é o substituto do makemap. As bases de dados do tipo hash são utilizadas para fornecer informações ao Postfix em diversas sistuações. Por exemplo, se quisermos informar o Postfix onde se encontram as caixas de correio de usuários de domínios virtuais, podemos criar um arquivo de texto com os dados (por exemplo, /etc/postfix/vmailbox), criar uma base de dados hash a partir do arquivo texto com o postmap (criando o /etc/postfix/vmailbox.db) e informar o Postfix da existência desta base de dados através do parâmetro de configuração virtual_mailbox_maps = hash:/etc/postfix/vmailbox.
Postsuper
O postsuper serve para eliminar emails que estejam na fila. Existem emails que estão esperando ser entregues (se o tráfego estiver muito intenso) e existem emails que estão esperando terminar os limites de tempo configurados para serem eliminados. Em todo caso, caso algum email esteja "pendurado" e você quiser eliminá-lo, dê um comando mailq para obter sua idendificação (por exemplo, 7E5541C692). Neste caso, para eliminá-lo, dê o seguinte comando:
# postsuper -d 7E5541C692
Caso você queira eliminar TODOS os emails que constem da lista, use:
# postsuper -d ALL
Postconf
O postconf é a ferramenta de configuração do Postfix. Ao invés de editar o arquivo /etc/postfix/main.cf, podemos usar o postconf para alterar ou adicionar parâmetros. Além disso, o postconf fornece uma porção de listagens muito úteis.
# postconf ..... mostra TODOS os parâmetros. É mais prático chamá-lo com postconf | less # postconf <parâmetro> ..... mostra o valor atual do parâmetro # postconf -d ..... mostra TODOS os valores default. Melhor chamar com postconf -d | less # postconf -d <parâmetro> ..... mostra o valor default do parâmetro # postconf -n ..... mostra todos os valores diferentes do default # postconf -e <parâmetro=valor> ..... edita um parâmetro atribuindo-lhe um novo valor. Se o parâmetro não existir no main.cf, ele é adicionado no final do arquivo. ATENÇÃO: não deixe espaços antes ou depois de =
Postfix
O postfix pode ser chamado diretamente, independente do diretório em que você estiver. É do tipo "escoteiro alerta", sempre pronto a servir Pode-se chamar o postfix com
- start: para iniciar o Postfix
- stop: para baixar o Postfix
- reload: para reler as configurações
- abort: para parar o Postfix no ato
- flush: para forçar o reenvio dos emails que estejam na fila
- check: para conferir a sintaxe dos arquivos de configuração