tutorial copiado de: http://www.linux.trix.net/dicas_postfix.htm Instalando e configurando o Postfix como MTA Postfix é um MTA, que apresenta-se como alternativa ao Sendmail, tendo como objetivo ser mais rápido, seguro e fácil de configurar que o Sendmail, além de tentar manter a compatibilidade com ele. Pode ser encontrado em http://www.postfix.org Esse tutorial tem como objetivo auxiliar os administradores de sistema a instalar Postfix e auxiliar a migrar um servidor rodando sendmail para o Postfix, demonstrando como fazer a configuração do MTA, através de exemplos. Inicialmente, vamos começar com o download do programa. O source pode ser obtido no próprio site do Postfix: http://www.postfix.org/ftp-sites.html Existe ainda as opções de pagar pacotes RPM em: http://www.ext.ea4els.ampr.org/~sjmudd/postfix/ E pacotes para o Debian em: http://packages.debian.org/postfix Você pode escolher a forma de instalação que se adequar as suas necessidades. Antes de iniciar a instalação é recomendável você fazer um backup dos arquivos de configuração do sendmail e remover os seus pacotes . Se não for remove-lo do sistema, é aconselhável desativa-lo e mover os seus arquivos. Movendo os arquivos do 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 # chmod 755 /usr/sbin/sendmail.OFF /usr/bin/newaliases.OFF \ /usr/bin/mailq.OFF Iniciando o processo de compilação e instalação Descompactando o postfix: # tar xvfz postfix-release.tar.gz O arquivo INSTALL que encontra-se que acompanha os sources do postfix explica detalhadamente o processo de instalação. Nesse documento vão ser demonstrados os principais passos. Adicionando um usuário para o postfix: # adduser postfix -s /bin/false Ou adicionar uma entrada no passwd como essa: postfix:*:12345:12345:postfix:/no/where:/bin/false Adicionar alias para o usuário postfix no arquivo /etc/aliases: postfix: root Compilando o postfix: # cd postfix-release # make Instalando o postfix: # make install Em seguida o programa de instalação vai fazer diversas perguntas sobre a localização dos arquivos e alguns parâmetros. Vão serem seguidas as sugestões do programa, pode-se altera-las de acordo com a sua necessidade. Configurando o sistema: O postfix contém um arquivo chamado main.cf, no qual estão as configurações gerais do daemon, localizado no diretório "/etc/postfix", pela instalação padrão. Abaixo, serão demonstrados os principais parâmetros de configuração para ter-se um servidor de e-mail funcional. Nos exemplos abaixo, vai ser utilizado o nome do servidor como "mail.dominio.com.br" e o dominio "dominio.com.br", favor substitui-los de acordo com a sua necessidade. Parâmetro "myhostname", substituir pelo nome da maquina/host: myhostname = mail.dominio.com.br Parâmetro "mydomain", substituir pelo seu domínio: mydomain = dominio.com.br Parâmetro "mydestination", substituir pelos domínios que o seu servidor de e-mail é responsável. Por exemplo, mail.dominio.com.br, ftp.dominio.com.br, www.dominio.com.br, dominio2.com.br, etc. Exemplo: mydestination = $myhostname, localhost.$mydomain, $mydomain, \ mail.$mydomain, www.$mydomain, dominio2.com.br Caso você tenha diversos domínios, pode se informar um arquivo com a listagem de domínios que você possui: mydestination = $myhostname, localhost.$mydomain, /etc/postfix/dominios Exemplo do arquivo /etc/postfix/dominios: # /etc/postfix/dominios dominio2.com.br, dominio3.com.br, www.dominio2.com.br Esse arquivo funciona de forma semelhante ao sendmail.cw Observação: Se você for utilizar o estilo de domínios virtuais do postfix, você não deve incluir nesse arquivo de domínios os domínios virtuais que você pretende utilizar. Qual a diferença entre o estilo de domínios virtuais do postfix e do sendmail ? Através dos domínios virtuais do postfix, somente os usuários cadastrados no domínio virtual receberam e-mail, caso seja enviado um e-mail para um usuário que não consta no mapa de usuários virtuais retornará uma mensagem dizendo que o usuário não existe. Com os domínios virtuais do sendmail, se existir um usuário no sistema ele será visível para o dominio virtual. Como fazer para utilizar o sistema de domínios virtuais do postfix ? Como foi explicado anteriormente, o dominio não deve estar incluído no parâmetro "mydestination", e devera ser incluído a seguinte linha no arquivo de configuração: virtual_maps = hash:/etc/postfix/virtual Para criar o mapa de dominio virtuais utiliza-se o comando: # postmap /etc/postfix/virtual Exemplo de um arquivo de domínios virtuais do postfix: # /etc/postfix/virtual dominio2.com.br E-mails do dominio2.com.br luizinho@dominio2.com.br luizinho zezinho@dominio2.com.br zezinho@outrodominio.com.br galera@dominio2.com.br guinho, zezinho, luizinho A primeira linha informa o nome do domínio virtual e a seguir tem um comentário sobre o domínio, deve-se escrever qualquer coisa após o nome do dominio. O primeiro exemplo mostra o redirecionamento do e-mail luizinho@dominio2.com.br para o usuário local luizinho. O segundo exemplo demonstra o e-mail zezinho@dominio2.com.br sendo redirecionado para zezinho@outrodominio.com.br. O ultimo exemplo demonstra galera@dominio2.com.br sendo redirecionado para os usuários guinho, zezinho e luizinho. Como utilizar o sistema de domínios virtuais do sendmail ? Colocar os domínios virtuais no parâmetro "mydestination". Inserir o parâmetro: virtual_maps = hash:/etc/postfix/virtual Exemplo de um arquivo de domínios virtuais do sendmail: # /etc/postfix/virtual luizinho@dominio2.com.br luizinho zezinho@dominio2.com.br zezinho@outrodominio.com.br galera@dominio2.com.br guinho, zezinho, luizinho Parâmetro "mynetworks", nesse parâmetro você deve determinar as redes do seu provedor: mynetworks = 192.168.0.0/16, 127.0.0.0/8 Também pode se informar os domínios em um arquivo como: mynetworks = /etc/postfix/mynetworks Pela configuração default do postfix, ele permite relay de e-mails das suas redes e de seus domínios. Caso você tenha clientes que não fazem parte da sua rede e que necessitam utilizar o seu servidor de e-mail para o envio de mensagens, você pode criar um arquivo com a lista de clientes e através do parâmetro "smtpd_recipient_restrictions" habilitar o envio de mensagens. Como no exemplo abaixo: smtpd_recipient_restrictions = permit_mynetworks check_client_access hash:/etc/postfix/client_access check_relay_domains Exemplo do arquivo /etc/postfix/client_access dial.amigos.com.br OK 10.0.0 OK lamers.com.br REJECT Esse parâmetro não consta na configuração default do postfix e você pode inclui-lo no final do arquivo de configuração main.cf Para criar o mapa de clientes que possam acessar o servidor de e-mail basta digitar: # postmap /etc/postfix/client_access Relay de e-mails de outros domínios que o seu servidor de e-mail não é o destino final Esse procedimento é bem comum em grandes servidores de e-mail, o administrador do sistema designa um ou mais MX secundários para o seu servidor de e-mail, caso o MX primário esteja fora do ar, os MX's secundários recebem os e-mails destinados aquele servidor de e-mail. Como foi visto, o Postfix, por padrão, permite o relay de e-mails que estão cadastrados como destino final, para permitir relay de outros domínios, basta você adicionar o seguinte parâmetro: relay_domains = $mydestination, /etc/postfix/relay-domains Exemplo do arquivo "/etc/postfix/relay-domains": # /etc/postfix/relay-domains outro-dominio.com.br dominio-10.com.br Aliases Existem dois tipos de configuração do sistema de aliases. Uma através dos mapas do postfix e outra através de um banco de dados semelhante ao sendmail. Para utilizar o sistema de mapas do postfix, utiliza-se o seguinte parâmetro: alias_maps = hash:/etc/aliases Através do comando "postalias /etc/aliases", voce atualizará o mapa de aliases. Para utilizar o sistema de banco de dados semelhante ao do sendmail, utiliza-se o seguinte parâmetro: alias_database = hash:/etc/aliases O comando "newaliases" ou "sendmail -bi" atualiza o banco de dados dos aliases. No subdiretório "conf" pode ser encontrado um exemplo do arquivo "aliases". Entrega de e-mails A entrega de e-mails no postfix pode ser feita de diversas formas, utilizando a forma tradicional, enviando os e-mails para "/var/spool/mail/user", no formato "Maildir/", utilizado pelo qmail, entre outros. Se você esta migrando sendmail para o postfix, ou tem pouca experiência recomenda-se utilizar o formato "/var/spool/mail/user", que é o padrão do postfix. mail_spool_directory = /var/spool/mail Alterando o banner do seu servidor de e-mail O banner padrão do postfix é: 220 mail.dominio.com.br ESMTP Postfix Alguns administradores de sistema alteram o banner do servidor de e-mail para esconder a versão do sistema. Esse procedimento pode ser feito através do parâmetro "smtpd_banner", como no exemplo abaixo: smtpd_banner = $myhostname ESMTP Com esse procedimento o banner do servidor de e-mail seria: 220 mail.dominio.com.br ESMTP Operação Finalizada a configuração do servidor de e-mail o próximo passo é iniciar o servidor de e-mail e testar se ele funciona corretamente. Iniciando o servidor de E-mail: # postfix start Caso seja feita alguma alteração na configuração do servidor de e-mail, para atualiza-lo, basta digitar o comando: # postfix reload Para desativar o servidor de e-mail: # postfix stop Considerações finais Esse tutorial demonstrou através de exemplos a configuração básica de um servidor de e-mail utilizando o postfix. O Postfix suporta diversos recursos, como base de usuários em um banco de dados Mysql, LDAP, entre outros. Para configurações avançadas do postfix recomenda-se a leitura dos documentos que encontram-se em http://www.postfix.org Caso você encontre algum erro nesse documento favor notificar o autor. Obrigado pela leitura e Boa Sorte!