http://www.zago.eti.br/email/servidor-interno-cl10.txt Tutorial pra instalar um servidor de e-mail interno com o CL10, neste tutorial dicas pra configurar o Postfix como servidor de e-mail interno, também tutorial pra outros aplicativos necesários pra completar as tarefas do servidor, como: Fetchmail pra baixar e-mail do servidor web MAILM pra testar e-mail na linha de comando. IMAP como servidor de pop3 pra entregar e-mail para as estações. SASL pra fazer relay (autenticação) no provedor. Uebmiau pra fazer um webmail no servidor interno Existem diversas maneiras de configurar serviços em sistemas GNU/LINUX, neste tutorial tem todos os comandos prontos pra copiar e colar na linha de comando, inclusive uma configuração pronta que precisa alterar somente o dominio, contas de e-mail e senhas, não tenha medo da tela preta, basta abrir um terminal pra usar o botão auxiliar do mouse pra colar os comandos, veja dicas em: http://www.zago.eti.br/modelos/A-menu-modelos.html Em breve acrescento aqui indicações de ferramentas pra fazer esta configuração em ambiente gráfico. Mais detalhes em cada tópico do tutorial... Use CTRL+F para refinar a pesquisa. Linha de: **************** separa mensagens ou tópicos. ******************************************************** Zago http://www.zago.eti.br/menu.html FAQ e artigos sobre Linux Outros FAQ relacionados a e-mail: http://www.zago.eti.br/email/servidor-interno-cl9.txt http://www.zago.eti.br/email/A-menu-email.html http://www.zago.eti.br/email/ Utilize webmin pra gerenciar a fila, configurar e outras opções. http://www.zago.eti.br/webmin.txt Indicação de material pra consulta: http://www.conectiva.com/doc/livros/online/8.0/servidor/correioeletronico.html http://www.conectiva.com.br/cpub/pt/incConectiva/suporte/pr/servidores.postfix.arq.html http://www.conectiva.com/doc/livros/online/9.0/servidor/correioeletronico.html#POSTFIX Pro Postfix enviar mensagens: http://www.altoriopreto.com.br/artigo_smtp-postfix.php http://www.g2ctech.com/artigos/relay-email.html http://postfix.state-of-mind.de/patrick.koetter/smtpauth/smtp_auth_mailservers.html ******************************************************** ******************************************************** Tutorial pra instalar um servidor de e-mail na rede local, pra uso exclusivo da rede interna, utilizando e-mail reservado, ou seja e-mail sem um dominio registrado e portando não trafegam na internet. Os cllientes de e-mail, Kmail, Evolution ou Outlouco, podem utilizar uma conta de e-mail real pra internet e outra pra uso exclusivo na rede interna, a maquina utilizada pra esta configuração não está de cara pra internet, tem um micro pra compartilhar a conexão e o servidor é somente mais uma maquina da rede interna, pra utilizar esta configuração em micros de cara pra internet deve ter uma atenção especial a regras de segurança e firewall. Este tutorial não serve pra quem tem o MX do provedor apontando pra tua maquina, nesta configuração as contas de e-mail continuam no provedor e voce utilizará o fetchmail pra bucar as mensagens de tempos em tempos e pra enviar as mensagens o postfix vai fazer relay no teu provedor. Voce pode pedir para o teu provedor redirecionar o MX para o teu IP, pra isto voce precisa configurar um DNS na tua rede, colocar o servidor de e-mail de cara pra net ou configurar teu roteador pra redirecionar o trafego de e-mail para o servidor de e-mail, com esta configuração teu servidor de e-mail funcionará como um provedor qualquer e não utilizará os pacotes do Fetchmail nem do SASL, mas precisa redobrar a segurança e cuidados com o servidor, especialmente no que se refere ao relay aberto. Insalação do CL10, perfil de instalação: DESKTOP CORPORATIVO, também vou utilizar esta maquina pra usuários navegarem na web, como servidor web interno, com HD adicional pra backups e outras aplicações. Qualquer perfil de instalação roda um servidore de e-mail, o que pode diferenciar são os pacotes que precisa instalar, fazendo a instlação com perfil servidor de e-mail já instala alguns pacotes, sempre é bom conferir o que está instalado, a seguir todos os passos pra configurar um servidor de e-mail interno: Neste documento os tópicos estão nesta ordem: Postfix Este é o servidor de e-mail MAILM Este tópico foi incluido pra testar o envio de e-mail pela linha de comando e por scripts, no tópico referente a ele, tem instruções pra enviar e-mail pra testar a configuração do Postfix. Fetchmail A função do fetchmail é buscar as mensagens no provedor e salvar no diretório /var/spool/mail em um arquivo com o nome do usuario que exista na maquina e esteja configuarado no .fetcmailrc. IMAP. A função do IMAP é de servidor de POP3, ele faz o serviço de entrega das mensagens que estão em /var/spool/mail/usuario para os clientes da rede interna, seja outlouco, kmail, evulution ou webmail.... CLIENTE DE E-MAIL Neste topico estão as dicas pra configurar clientes de e-mail utilizados na rede interna, entre eles, Evolution, Kmail, outlouco. SASL Nesta instalação o SASL serve pra autenticar o envio de mensagens, esta autenticação no provedor é conhecida por fazer relay no provedor externo. CADASTRO DE USUÁRIOS. Em sistemas Linux existem diversas opções pra controle de usuários, neste tutorial vamos trabalhar com os usuários da maquina, ou seja, usando o /etc/passwd, portanto precisa criar usuários local no servidor, pra criar usuário use o comando: adduser precisa definir senha, use o comando: passwd O login e senha pode ser diferente da conta e-mail externa, pra enviar e receber e-mail internamente obrigatoriamente vai usar o nome de login e senha cadastrados no servidor interno pra configurar os clientes de e-mail, por exemplo, pro dominio zago.intranet o e-mail do usuário antonio será: antonio@zago.intranet, pra isto precisa criar o usuário antonio, pra ele acessar as contas de e-mail, enviar e receber, nos clientes de e-mail, ou webmail a senha é a mesma deste usuário no servidor. Pra quem vai trabalhar com muitos usuários ou pra quem precisa criar usuários somente pra e-mail e sem acesso ao sistema, deve pesquisar outras opções, o Postfix trabalha com LDAP e outros aplicativos que armazena os usuários e suas senhas em banco de dados, faça por parte que facilita na solução de problemas, depois de configurado e funcionando com os usuários do sistema, escolha outra base mais adequada. ARMAZENAMENTO DAS MENSAGENS. Existem diversas maneiras de armazenar as mensagens no servidor, pode ser um arquivo texto em /var/spool/mail/nomedelogin ou em um banco de dados, nesta configuração usaremos o sistema de arquivão texto com todas as mensagens do usuário, esta é a configuração mais simples. Existem outras maneiras de armazenar as mensagens e também de controle dos usuários, estas formas não serão explicadas neste tutorial, caso voce tenha um volume muito grande de mensagens ou de usuários, usar o servidor pra varios dominios, por questão de segurança não queira dar acesso ao shell, também outros como melhorar a segurança e obter dados estatisticos, certamente vai precisar de outras ferramentas, na internet existem muitos tutoriais explcando sobre o uso de servidores de e-mail com bancos de dados e outras ferramentas pra melhorar o desempenho e controle, estas implementações e modificações podem ser feitas a qualquer tempo, o Postfix é altamente configuravel, pode implementar estes recursos por partes, facilita na solução de problemas e entendimento do funcionamento. Neste exemplo usaremos como conta de e-mail e senha, os mesmos usuários validos na maquina, portanto precisará criar os usuários no servidor, use script pra automatizar o processo ou manualmente, como root em um terminal execute: adduser nomedelogin passwd nomedelogin informe a senha e prontinho, a partir do momento que criou o usuário na maquina automaticamente ele já pode enviar e receber e-mail, por enquanto somente para as contas de e-mail interno. Pra baixar os e-mail da internet precisa incluir no fetchmailrc os dados da conta de e-mail, dominio e senha e a indicação da conta de e-mail interna dele. pra ele enviar e-mail pro mundo precisa configuar a conta dele pra fazer relay no SASL. Estes detalhes estão bem explicados no tópico sobre Fetchmail e SASL Após o envio ou recebimento da primeira mensagem será criado um arquivo pro usuário, o nome deste arquivo coincide com o nome de login do usuário no servidor, as mensagens ficam armazanadas neste arquivo: /var/spool/mail/nomedelogin Este arquivo será criado automaticamente e não se deve mexer nele, caso queira ver o seu conteúdo, use ferramentas como cat, tail e etc.. por exemplo, pra ver o que tem no arquivo do usuário zago, execute: cat /var/spool/mail/zago WEBMAIL, horde, uebimiau, squirrelmail Veja tutoriais e FAQ pra instalar e configurar webmail. HORDE e squirrelmail http://www.zago.eti.br/email/webmail.txt Pra instalar e configurar uebimiau, veja: http://www.zago.eti.br/email/uebimiau.txt OBS. no CL9 e CL10 os pacotes mencicionados acima, trabalham com as mensgens em: /var/spool/mail/nomedelogindousuario Observe que no /etc/profile tem esta linha: MAIL="/var/spool/mail/$USER" Acho que a linha acima indica o local e arquivo utilizado pra trabalhar com as mensagens tanto pra leitura e gravação, caso queira utilizar outro local, tente alterações nesta configuração do /etc/profile, mande a dica pro FAQ indicando quando foi necessário e os passos executados pra trabalhar com mensagens em outro local. ******************************************************** RESUMO GERAL, veja detalhes e maiores explicações nos topicos seguintes. # instalar os pacotes: apt-get install postfix sasl2* fetchmail imap lynx wget # pra baixar os modelos, escolha somente uma das opções, wget ou "vi" # wget. # baixar os modelos com wget pra posterior edição cd /etc/postfix mv /etc/postfix/main.cf /etc/postfix/mainoriginal wget http://www.zago.eti.br/modelos/main.cf-cl10-relay cp main.cf-cl10-relay main.cf cd /root wget http://www.zago.eti.br/modelos/fetchmailrc mv fetchmailrc .fetchmailrc # ou baixar os modelos diretamente pro editor "vi" #comando pra importar pro "vi" (veja cp.txt) mv /etc/postfix/main.cf /etc/postfix/mainoriginal vi /etc/postfix/main.cf :r !lynx -dump http://www.zago.eti.br/modelos/main.cf-cl10-relay vi /root/.fetchmailrc :r !lynx -dump http://www.zago.eti.br/modelos/fetchmailrc echo "smtp.seudominio.com.br seuusuario:suasenha" > /etc/postfix/sasl_passwd # Altere a linha acima pro seu dominio que foi informado no postfix, # pra editar depois da copia, use o vi: vi /etc/postfix/sasl_passwd # precisa de um "tab" pra separar dominio da conta:senha, exemplo: echo "smtp.zago.eti.br zago:minhasenha" > /etc/postfix/sasl_passwd veja as configurações da tua maquina: [root@faqcl10 root]# cat /etc/hosts 127.0.0.1 localhost.localdomain localhost 192.168.1.82 faqcl10.zago.eti.br faqcl10 # edite e ajuste os arquivos de configuração: vi /etc/postfix/main.cf myhostname = email.intranet.br mydomain = intranet.br relayhost = smtp.zago.eti.br altere estas opções acima conforme seu /etc/hosts, por exemplo: myhostname = faqcl10.zago.eti.br mydomain = zago.eti.br relayhost = smtp.zago.eti.br onde relayhost é seu provedor que vai validar a saida de e-mail enviados pro mundo. vi /root/.fetchmailrc vi /etc/postfix/sasl_passwd chown root.root /etc/postfix/sasl_passwd chmod 600 /etc/postfix/sasl_passwd postmap hash:/etc/postfix/sasl_passwd chkconfig postfix on service postfix start chkconfig xinetd on service xinetd start touch /var/log/fetchmaillog chmod 710 /root/.fetchmailrc # agendar o crontab pra executar fetchmail a cada 5 minutos crontab -e */5 * * * * /usr/bin/fetchmail -a rpm -ivh ftp://ftp.polinux.upv.es/Mirrors/conectiva/snapshot/i386/RPMS.extra/mailm-0.3-47439cl.i386.rpm Envie mensagem de teste: df | mailm -t zago -s 'uso do disco!' veja se chegou: cat /var/spool/mail/zago Chegou, tudo OK, continue com os testes, e veja mais detalhes nos tópicos seguintes. Não chegou, inicie a solução de problemas pelos logs: tail -f /var/log/maillog tail -f /var/log/fetchmaillog reveja os comandos e resultados, continue consultado os topicos seguintes, compare resultados e comandos... ******************************************************** TOPICO SOBRE O SERVIDOR POSTFIX Instalar e configurar o servidor de e-mail Postfix. Com esta configuaração precisa instalar o pacote Postfix, execute: apt-get install postfix Resultado: [root@faqcl10 apt]# apt-get install postfix Lendo Listas de Pacotes... Feito Construindo Árvore de Dependências... Feito Os seguintes pacotes extras serão instalados: procmail Os seguintes pacotes NOVOS serão instalados: postfix procmail 0 atualizados, 2 novos instalados, 0 removidos e 0 não atualizados. É preciso pegar 0B/1856kB de arquivos. Após desempacotar 3953kB de espaço adicional serão utilizados. Você quer continuar? [S/n] S Aplicando modificações... Preparing... ########################################### [100%] 1:procmail ########################################### [ 50%] 2:postfix ########################################### [100%] Feito. [root@faqcl10 apt]# Pra conferir se já está instalado: [root@faqcl10 apt]# rpm -qa | grep postfix postfix-2.0.19-57985cl [root@faqcl10 apt]# Veja o nome da maquina e dominio. [root@faqcl10 root]# cat /etc/hosts 127.0.0.1 localhost.localdomain localhost 192.168.1.82 faqcl10.zago.eti.br faqcl10 Arquivo de configuração do Postfix, fica em: /etc/postfix/main.cf Precisa fazer alguns ajustes pra tua rede, entre eles estão o dominio e outros detalhes descritos abaixo, voce pode substituir o arquivo de configuração por outro previamente configurado ou de outra instalação, renomeie o main.cf da istalação e depois coloque no lugar o novo main.cf pode usar o main.cf utilizado neste tutorial, dicas no FAQ cp.txt, execute: vi /etc/postfix/main.cf dentro do "vi": :r !lynx -dump http://www.zago.eti.br/modelos/main.cf-cl10-relay De qualquer forma voce precisa alterar no main.cf, nome do dominio, host e provedor que fará relay (autenticar) além de outros itens que são peculiares a tua rede. entrar no diretório onde está o arquivo de configuração do postfix: cd /etc/postfix/ Usando o "vi" pra editar o arquivo main.cf vi main.cf Pressione INSERT pra entrar no modo edição e faça as seguintes alterações: A seguir alguns comentarios, voce pode usar outras ferramentas de configuração, comparar o main.cf da instalação com o modelo indicado acima. Comente esta linha: default_privs = nobody Pra ficar assim: #default_privs = nobody #myhostname = host.domain.tld alterar para: myhostname = mail1.zago.eti (onde: mail1 é nome da maquina e zago.eti é o dominio) o nome da maquina e dominio voce pega no hosts: Faça as seguintes alterações: #mydomain = domain.tld alterar para: mydomain = zago.eti #myorigin = $myhostname #myorigin = $mydomain alterar para: #myorigin = $myhostname myorigin = $mydomain #mydestination = $myhostname, localhost.$mydomain $mydomain Alterar para: mydestination = $myhostname, localhost.$mydomain $mydomain #relayhost = $mydomain alterar pra: relayhost = smtp.zago.eti.br Onde zago.eti.br é o dominio onde voce vai fazer relay, (provedor que vai antenticar o envio de e-mail), este parametro tem formato especifico pra alguns provedores, em servidores internos requer também a configuração da autenticação pelo SASL, veja topico especifico sobre ele neste documento, veja alguns exemplos pra alguns provedores: Pra fazer relay no yahoo, use este exemplo: relayhost = smtp.mail.yahoo.com.br Pra fazer relay no Terra com speedy business, use este exemplo: relayhost = smtp.bra.terra.com.br Pro UOL, BOL, IG e a maioria dos provedores, use este formato. relayhost = smtp.uol.com.br #mynetworks = 168.100.189.0/28, 127.0.0.0/8 alterar para: mynetworks = 192.168.1.0/24, 127.0.0.0/8 #relay_domains = $mydestination alterar para: relay_domains = $mydomain Com esta configuração basica o Postfix deve iniciar com: service postfix start Pra iniciar o Postfix junto com o boot execute: chkconfig --level 35 postfix on postconf -n Lista um resumo da configuração postconf Lista toda a configuração Pra reiniciar o Postfix execute: service postfix restart ou service postfix stop service postfix start quando exibir OK é sinal que o postfix está rodando normalmente, quando exibir [FALHOU], deverá rever as configurações. Pra ver se está rodando, execute: service postfix status LEMBRANDO que o dominio zago.eti e o e-mail zago@zago.eti existe somente nesta maquina, eles não existem pra internet, isto só funciona pra rede interna, mesmo desconectado da internet as estações enviam e-mail pro maquina que está rodando o servidor Postfix, serve unica e exclusivamente pra e-mail interno. Nesta rede tenho uma maquina de cara pra internet trabalhando como firewall e compartilhando a conexão pra rede interna, o servidor de e-mail está em outra maquina rodando também outros serviços, nesta rede existem diversas configurações de estações, tem estação com CL9, CL10, WIN98, XP e algumas com boot remoto, tem estações usando Evolution, Kmail, Outlouco e outras usando somente webmail, tem estações que passam pelo firewall pra acessar contas de e-mail externa e outras que tem acesso somente ao servidor interno, como pode ver, voce pode fazer o que quiser, a diferenças estão nas configurações do firewall pra liberar ou bloquear acesso externo, nos clientes depende da configuração da conta de e-mail, pode configurar duas contas, uma que aponta pro IP do Postfix (e-mail interno), outra que aponta pro dominio do provedor, neste caso pode configurar pra passar pelo servidor interno ou não. veja os logs em: /var/log/maillog tail -f /var/log/maillog veja as portas que estão abertas com netstat -na netstat -na Conexões Internet Ativas (servidores e estabelecidas) Proto Recv-Q Send-Q Endereço Local Endereço Remoto Estado tcp 0 0 0.0.0.0:111 0.0.0.0:* OUÇA tcp 0 0 0.0.0.0:22 0.0.0.0:* OUÇA tcp 0 0 0.0.0.0:25 0.0.0.0:* OUÇA tcp 0 0 192.168.1.201:22 192.168.1.53:33273 ESTABELECIDA udp 0 0 0.0.0.0:111 0.0.0.0:* A porta 22 é da conexão ssh que estou utilizando pra configurar a maquina remotamente. Ainda não completa a conexão por telnet na porta 25, por exemplo: telnet 192.168.1.201 25 Trying 192.168.1.201... Connected to 192.168.1.201. Escape character is '^]'. 220 mail1.zago.eti ESMTP Postfix (2.0.7) --fica parado nisto--- A configuração ainda não terminou, os itens acima serve pra testar se o Postfix está rodando e recebendo e-mail das maquinas internas, também do mailman, pra fazer estes testes continue com a configuração. ******************************************************** TOPICO SOBRE O MAILM, pra enviar e-mail via linha de comando: Este tópico é opcional, serve pra testar o servidor e e-mail, enviar e=mail via linha de comando ou atraves de escripts. Pode usar mailx ou mailm, o maix já vem nos CD de instalação do CL10 basta executar: apt-get install mailx df | mail -t zago -s 'uso do disco - vial maix!' Mailm é mais complicado de instalar, veja as dicas abaixo pra mailm Pra utilizar o Mailm, basta instalar o pacote mailm e iniciar o Postfix, não requer configurações adicionais. O uso do mailm neste tutorial tem a finalidade de mostrar como enviar e-mail pela linha de comando, pra ser utilizado em alguns scripts com opção de enviar e-mail para os usuários cadastrados no servidor e também pro root. O mailm não é essencial pro funcionamento do servidor de e-mail interno. Este pacote não vem no CD de instalação do CL10, mas está disponivel nos repositórios na internet, pode baixar o pacote e depois instalar, pode configurar pra fazer pelo apt ou synaptic, ou via rpm, na linha de comando como root, execute esta linha de comando: rpm -ivh ftp://ftp.polinux.upv.es/Mirrors/conectiva/snapshot/i386/RPMS.extra/mailm-0.3-47439cl.i386.rpm (cuidado com a quebra de linha, a linha acima tem que ser uma única linha de comando) RESULTADO: [root@intranet postfix]# rpm -ivh ftp://ftp.polinux.upv.es/Mirrors/conectiva/snapshot/i386/RPMS.extra/mailm-0.3-47439cl.i386.rpm Recuperando ftp://ftp.polinux.upv.es/Mirrors/conectiva/snapshot/i386/RPMS.extra/mailm-0.3-47439cl.i386.rpm Preparando... ########################################### [100%] 1:mailm ########################################### [100%] Caso não consiga via rpm, veja se a maquina está com acesso à inernet, veja se não tem regras de firewall ou proxy fazendo o bloqueio, também pode instalar via apt ou synaptic, altere no /etc/apt/souces.list precisa desta linha: rpm ftp://ftp.polinux.upv.es/Mirrors/conectiva/snapshot/ i386 all depois execute: apt-get update Pra instalar execute: apt-get install mailm Resultado: [root@faqcl10 apt]# apt-get install mailm Lendo Listas de Pacotes... Feito Construindo Árvore de Dependências... Feito Os seguintes pacotes NOVOS serão instalados: mailm 0 atualizados, 1 novos instalados, 0 removidos e 252 não atualizados. É preciso obter 23,4kB de arquivos. Após desempacotar 34,1kB de espaço adicional serão utilizados. Get:1 ftp://ftp.polinux.upv.es i386/all mailm 0.3-47439cl [23,4kB] Obtidos 23,4kB em 16s (1427B/s) Aplicando modificações... Preparing... ########################################### [100%] 1:mailm ########################################### [100%] Feito. [root@faqcl10 apt]# Como veririfiar se o mailm está instalado: [root@faqcl10 root]# rpm -qa | grep mailm mailm-0.3-47439cl depois é só executar na linha de comando: df | mailm -t root -s 'Check disc usage!' df | mailm -t zago -s 'uso do disco!' Resultado: [root@faqcl10 apt]# df | mailm -t zago -s 'uso do disco!' [root@faqcl10 apt]# postdrop: warning: unable to look up public/pickup: No such file or directory Este erro ocorre porque o Postfix não está rodando, fica travado nisto, precisa de CTRL+C pra sair, pra resolver o problema, basta iniciar o postfix com a linha de comando: service postfix start, veja o resultado: [root@faqcl10 mail]# service postfix start Iniciando e-mail services (postfix): Agora pode executar a linha de comando: df | mailm -t zago -s 'uso do disco!' no diretório /var/spool/mail vai aparecer um aquivo com o nome do usuário, no caso acima tem um arquivo zago com os e-mail. Pra ver as mensagens, execute: cat /var/spool/mail/zago Neste exemplo, o usuário zago é um usuário da maquina, portanto utilize somente usuários cadastrados no servidor, o prostfix ou fetchmail, na primeira mensagem cria automaticamente um arquivo pra armazenar as mensagens, este arquivo fica em /var/spool/mail/nomedelogin. Exemplo e resultado dos comandos: [root@faqcl10 root]# rpm -ivh ftp://ftp.polinux.upv.es/Mirrors/conectiva/snapshot/i386/RPMS.extra/mailm-0.3-47439cl.i386.rpm Recuperando ftp://ftp.polinux.upv.es/Mirrors/conectiva/snapshot/i386/RPMS.extra/mailm-0.3-47439cl.i386.rpm Preparando... ########################################### [100%] 1:mailm ########################################### [100%] [root@faqcl10 root]# df | mailm -t zago -s 'uso do disco!' [root@faqcl10 root]# cat /var/spool/mail/zago From root@zago.eti.br Thu Aug 19 00:49:32 2004 Return-Path: X-Original-To: zago Delivered-To: zago@zago.eti.br Received: by faqcl10.zago.eti.br (Postfix, from userid 0) id E24A82A2C30; Thu, 19 Aug 2004 00:49:32 -0300 (BRT) Date: Thu, 19 Aug 2004 00:49:32 -0300 From: root Subject: uso do disco! To: zago@zago.eti.br MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: 7bit Message-Id: <20040819034932.E24A82A2C30@faqcl10.zago.eti.br> Sist. Arq. 1K-blocos Usad Dispon. Uso% Montado em /dev/hda3 33293196 5405132 26196824 18% / [root@faqcl10 root]# ******************************************************** TOPICO SOBRE IMAP, servidor de pop3 para as maquinas internas. CONFIGURANDO O SERVIDOR POP COM POSTFIX. O Postfix é um servidor SMTP. Ele não tem nada de POP, portanto precisa de um servidor POP, existem diversos, voce precisa instalar um deles pra fazer a interface do servidor com as estações da rede, os clientes de e-mail instalados nas estações de trabalho vão se comunicar com servidor POP pra pegar as mensagens. Optei pelo IMAP, no synaptc do CL10 tem esta descrição: "IMAP é um servidor para os protocolos de mail POP (Post Office Protocol) e IMAP. O protocolo POP permite uma máquina de correio coletar mail para usuários e permite o download do mail para a máquina local do usuário para leitura. O protocolo IMAP oferece a funcionalidade de POP, e permite um usuário ler seu mail em uma máquina remota sem movê-lo para a sua caixa postal local." Pra instalar: apt-get install imap Resultado: [root@faqcl10 mail]# apt-get install imap Lendo Listas de Pacotes... Feito Construindo Árvore de Dependências... Feito Os seguintes pacotes extras serão instalados: libimap4 uw-imap-server uw-pop-server Os seguintes pacotes NOVOS serão instalados: imap libimap4 uw-imap-server uw-pop-server 0 atualizados, 4 novos instalados, 0 removidos e 252 não atualizados. É preciso pegar 0B/467kB de arquivos. Após desempacotar 874kB de espaço adicional serão utilizados. Você quer continuar? [S/n] S Aplicando modificações... Preparing... ########################################### [100%] 1:libimap4 ########################################### [ 25%] 2:uw-imap-server ########################################### [ 50%] 3:uw-pop-server ########################################### [ 75%] 4:imap ########################################### [100%] Feito. [root@faqcl10 mail]# Pra iniciar o serviço nesta seção: service xinetd start Pra iniciar o serviço junto com o boot da maquina: chkconfig xinetd on chkconfig imaps on chkconfig imap on Depois de reiniciar o servidor, veja os resultados: netstat -na Conexões Internet Ativas (servidores e estabelecidas) Proto Recv-Q Send-Q Endereço Local Endereço Remoto Estado tcp 0 0 0.0.0.0:110 0.0.0.0:* OUÇA tcp 0 0 0.0.0.0:111 0.0.0.0:* OUÇA tcp 0 0 0.0.0.0:6000 0.0.0.0:* OUÇA tcp 0 0 0.0.0.0:22 0.0.0.0:* OUÇA tcp 0 0 0.0.0.0:25 0.0.0.0:* OUÇA tcp 0 0 192.168.1.201:110 192.168.1.53:33765 ESTABELECIDA tcp 0 0 192.168.1.201:22 192.168.1.53:33616 ESTABELECIDA udp 0 0 192.168.1.201:32780 192.168.1.1:53 ESTABELECIDA udp 0 0 0.0.0.0:111 0.0.0.0:* ******************************************************** TOPICO SOBRE FETCHMAIL, veja mais sobre fetchmail em: http://www.zago.eti.br/email/fetchmail.txt BUSCAR E-MAIL NO PROVEDOR EXTERNO Optei pelo Fetchmail, este tópico foi elaborando com as dicas de: http://www.zago.eti.br/email/fetchmail.txt http://www.conectiva.com.br/cpub/pt/incConectiva/suporte/pr/servidores.sendmail.fetchmail.procmail.html Pra instalar o fetchmail: apt-get install fetchmail Resultado: [root@faqcl10 mail]# apt-get install fetchmail Lendo Listas de Pacotes... Feito Construindo Árvore de Dependências... Feito Os seguintes pacotes extras serão instalados: fetchmail-i18n-pt_BR Os seguintes pacotes NOVOS serão instalados: fetchmail fetchmail-i18n-pt_BR 0 atualizados, 2 novos instalados, 0 removidos e 252 não atualizados. É preciso pegar 0B/288kB de arquivos. Após desempacotar 455kB de espaço adicional serão utilizados. Você quer continuar? [S/n] S Aplicando modificações... Preparing... ########################################### [100%] 1:fetchmail ########################################### [ 50%] 2:fetchmail-i18n-pt_BR ########################################### [100%] Feito. Pra verificar se já está instalado: rpm -qa | grep fetchmail Resultado: [root@faqcl10 mail]# rpm -qa | grep fetchmail fetchmail-i18n-pt_BR-6.2.5-47428cl fetchmail-6.2.5-47428cl Configurando o Fetchmail Pra pegar os e-mails da internet, além de instalar, precisa configurar o fetchmail, ele não vem com um arquivo de configuração, voce precisará criar e configurar este arquivo no home do usuário, como vou utilizar varios usuários com contas em provedores diferentes, optei por colocar este arquivo no home do root e protejer o acesso deste arquivo, afinal.... tem senhas de e-mail, optei por esta condição pra evitar que um usuário pegue a senha do outro. Este arquivo tem que ter o nome: .fetchmailrc, veja copia do modelo que tem no site da Conectiva: set logfile "/var/log/fetchmaillog" set postmaster "" set daemon 123 set bouncemail poll [provedor_internet] proto POP3 user [usuário] password "[senha]" is [usuário_local] here Como ficou a minha configuração pra baixar e-mail da conta: antoniofzago@uol.com.br e salvar em /var/spool/mail/zago: set logfile "/var/log/fetchmaillog" set postmaster "nome do postmaster" set daemon 300 set bouncemail poll pop3.uol.com.br proto POP3 user antoniofzago password senhadoxxxx is zago here OBS.: veja no final deste tópico outros exemplos de configuração pra baixar e-mail de outros provedores ou varias contas de provedores diferentes. Na sua instalação: vi /root/.fetchmailrc ou vá pro diretório do root: cd ~ vi .fetchmailrc pressione insert pra entrar no modo inserção digite as linhas acima, ou copie as linhas acima e altere os dados necessários, depois pra salvar e sair, pressione ESC SHIFT+: wq Execute estas duas linhas abaixo e prontinho.... chmod 710 .fetchmailrc fetchmail Caso não ajuste a permissão como indicado acima vai ocorrer esta mensagem de erro: [root@faqcl10 root]# fetchmail -a File /root/.fetchmailrc must have no more than -rwx--x--- (0710) permissions. Após executar: chmod 710 .fetchmailrc Não ocorre mais o erro e fetchmail roda normalmente. Quando reiniciar a maquina e fetchmail para de rodar, em testes que fiz pra iniciar o fetchmail junto com o boot e baixar as mensagens no intervalo configurado em "set daemon 300", acrescentei no final do /etc/rc.d/rc.local pra executar o fetchmail, todas falharam, não inicia o fetchamil. A solução adotada e que funciona sem problema, foi retirar da configuração do fetchmail a linha: set daemon 300 Acrescentar no cron (agendador de tarefas pra executar o fetchmail a cada 5 minutos, como root execute esta linha de comando: crontab -e */5 * * * * /usr/bin/fetchmail -a A primeira linha entra em modo de configuraçao do agendador de tarefas, a segunta linha agenda a executação do fetchmail a cada 5 minutos, pra encerrar, pressione ESC :wq Pra saber mais sobre o agendador de tarefas, veja o FAQ http://www.zago.eti.br/agenda.txt Prontinho, agora Fetchamil pega os e-mail de antoniofzago@uol.com.br e salva no arquivo de: /var/spool/mail/zago este processo se repete a cada 5 minutos, ou seja executa o comando a cada 5 minutos, pra alterar, altere no cron para os minutos que deseja a repetição. O arquivo de log /var/log/fetchmaillog, será criado automaticamente na primeira execução do fetchmail, pra acompanhar os logs, execute: tail -f /var/log/fetchmaillog OBS. No CL10 não criou o arquivo e portanto não registrava os logs, então criei o arquivo manualmente e passou a registrar os logs, caso na tua istalação não exista o arquivo de log, execute: touch /var/log/fetchmaillog Não entendi como funciona a quebra de linha, a configuração pra alguns provedores provoca quebra da linha de configuração e por consequencia a mensagem de erro do tipo: [root@faqcl10 root]# fetchmail -a fetchmail:/root/.fetchmailrc:5: syntax error em is Pra resolver isto voce precisa editar o arquivo de configuração .fetchmailrc e verificar se não tem algum erro de digitação, se falta espaço na separação dos paramentros e quando a palavra aparecer no final da linha, antes da quebra de linha, coloque espaços até a palavra que aparece no erro passar para a linha seguinte e depois executar novamente: fetchmail -a Com esta configuração, mesmo estações sem acesso à internet podem acessar este servidor via browser e por webmail acessar as mensagens, ou receber e-mail na estação local, eles não receberão e-mail de qualquer conta, o administrador da maquina precisa cadastrar o e-mail, senha e provedor, Portando ele passa a ter acesso às mensagens de todos, ótimo pra backup, dependendo da empresa isto poderá ter varias consequencias que não cabe discutir neste tópico, pense em elaborar uma comunicação pra informar que o e-mail é correspondencia da empresa e que é proibido o uso de e-mail pessoal na empresa, que será auditado periodicamente e outros avisos que achar necessário, mantenha uma copia assinada como protocolo de entrega da comunicação. As configurações das estações configuradas pra enviar e receber e-mail internamente com o Postfix e imap, continuam funcionando sem precisar de alteração alguma. Nas estações o cliente de e-mail mesmo que não tenha acesso à internet, pode baixar os e-mail deste servidor interno, que agora passa a ter mensagens recebidas de outras maquinas da rede interna e também da internet que foram baixadas pelo fetchmail, como fetchmail está colocando as mensagens no mesmo local que o Postfix, vai juntar tudo. O Procmail tem a finalidade de separar e filtrar mensagens, veja o FAQ: http://www.zago.eti.br/email/procmail.txt Outros exemplos do arquivo de configuração do arquivo de configuração /root/.fetchmailrc cat /root/.fetchmailrc set logfile "/var/log/fetchmaillog" set postmaster "nome do postmaster" set bouncemail poll pop3.ig.com.br proto POP3 user zago_hard password senhadoxxxx is zago here poll pop3.uol.com.br proto POP3 user antoniofzago password senhadoxxxx is zago here poll pop3.bra.terra.com.br with proto POP3 user csrsul there with password senhadoxxxx is zago here user zagorede there with password senhadoxxxx is zago here #comando pra importar pro "vi" (veja cp.txt) # :r !lynx -dump http://www.zago.eti.br/modelos/fetchmailrc ******************************************************** CLIENTE DE E-MAIL, configurando clientes de e-mail nas estações da rede interna, entre eles Evolution, Kmail, Outlouco. OBS. Pra enviar mensagens pro mundo, precisa fazer relay no provedor, não teste esta condição por enquanto, faça testes somente com usuários locais, pra fazer relay no provedor precisa configurar o SASL que vem no proximo tópico. Pra configurar o Kmail pra enviar e receber mensagens utilizando o servidor interno: Kmail -> Configurações -> configurar kmail -> rede -> adicione uma conta pop, depois entre em alterar e na aba de de menu "recebendo" configure como abaixo, claro que é só exemplo, utilize os dados da tua instalação, onde o maquina 192.168.1.201 é o IP do servidor que está rodando o Postfix com imap. nome: zagopvt login: zago senha: ******** maquina: 192.168.1.201 porta: 110 Prontinho, agora de qualquer estação da rede pode enviar e receber e-mail deste servidor interno, basta criar o usuário pro Linux no servidor que ele automaticamente tem a conta de e-mail, lembre que esta configuração só funciona para os usuários que foram criados no servidor que está rodando o Postfix e valem somente pra e-mail interno, cuidado pra não usar conta de e-mail valido em provedores, isto poderá causar confusão pra distinguir o e-mail interno com um utilizado na internet. Pra configurar o Outlouco pra enviar e receber mensagens utilizando o servidor interno: No Outlouco de uma estação Win98, configurei normalmente a conta, com a diferença que no campo pra smtp e pop, informei somente o IP do servidor Postfix, neste exemplo: 192.168.1.201, a partir desta configuração, também passou a enviar e receber e-mail internamente para os usuários deste servidor e também pra internet. Veja algumas telas da configuração das estações: http://200.204.198.164/zago/email/telas-serv-interno/ Após a configuração do SASL, voce pode enviar e-mail pro mundo, na configuração do teu cliente de e-mail voce deverá configurar o remetente com uma conta de e-mail valida, por exemplo: Pra rede interna pode trocar e-mail com a conta zago@zago.intranet, mas este zago.intranet não é um dominio registrado, o que fala com o mundo é zago.eti.br, portando preciso configurar meu cliente de e-mail com a conta de remetente usando zago@zago.eti.bt, ou seja a conta do servidor externo (seu provedor) o endereço de maquina ou provedor quando for o do servidor interno o postfix com o SASL vai fazer relay no provedor, quando voce configurar os dados no cliente de e-mail com os dados do teu provedor estas mensagens não passarão pelo Postfix, portanto ficarão fora do controle de regras que voce tenha no teu servidor, pra evitar isto, voce pode configurar teu firewall pra não permitir que as estações envie e-mail diretamente. ******************************************************** TOPICO SOBRE SASL, fazer relay no provedor. FAZER RELAY NO PROVEDOR (AUTENTICAR NO PROVEDOR) Considerando que voce já tem o Postfix, Fetchmail e IMAP configurados e trocando e-mail internamente, vamos pra configuração do SASL, que servirá pra configurar teu servidor pra fazer relay no provedor externo. Veja mais sobre SASL em: http://www.postfix.org/SASL_README.html#client_sasl Veja também o FAQ: http://www.zago.eti.br/email/postfix-sasl_auth.txt Precisa instalar os pacotes: apt-get install sasl2* Resultado do comando acima: [root@faqcl10 apt]# apt-get install sasl2* Lendo Listas de Pacotes... Feito Construindo Árvore de Dependências... Feito Selecionando sasl2-programs para 'sasl2*' Selecionando sasl2-plug-crammd5 para 'sasl2*' Selecionando sasl2-plug-login para 'sasl2*' Selecionando sasl2-plug-gssapi para 'sasl2*' Selecionando sasl2-plug-otp para 'sasl2*' Selecionando cyrus-sasl para 'sasl2*' Selecionando libsasl2.so.2 para 'sasl2*' Selecionando sasl2 para 'libsasl2.so.2' Selecionando sasl2-plug-sasldb para 'sasl2*' Selecionando sasl2-doc para 'sasl2*' Selecionando sasl2-plug-plain para 'sasl2*' Selecionando libsasldb.so.2 para 'sasl2*' Selecionando sasl2-plug-sasldb para 'libsasldb.so.2' Selecionando cyrus-sasl-plain para 'sasl2*' Selecionando cyrus-sasl-gssapi para 'sasl2*' Selecionando cyrus-sasl-devel para 'sasl2*' Selecionando sasl2-plug-ntlm para 'sasl2*' Selecionando sasl2 para 'sasl2*' Selecionando sasl2-plug-digestmd5 para 'sasl2*' Selecionando cyrus-sasl-md5 para 'sasl2*' Selecionando perl-authen-sasl para 'sasl2*' Selecionando perl-Authen-SASL para 'sasl2*' Selecionando perl-authen-sasl para 'perl-Authen-SASL' Selecionando libkdesasl.so.1 para 'sasl2*' Selecionando kdelibs3 para 'libkdesasl.so.1' Selecionando sasl2-plug-anonymous para 'sasl2*' Selecionando sasl2-devel para 'sasl2*' Os seguintes pacotes extras serão instalados: sasl2-devel sasl2-doc sasl2-plug-anonymous sasl2-plug-crammd5 sasl2-plug-digestmd5 sasl2-plug-gssapi sasl2-plug-login sasl2-plug-ntlm sasl2-plug-otp sasl2-plug-plain sasl2-plug-sasldb sasl2-programs Os seguintes pacotes NOVOS serão instalados: sasl2-devel sasl2-doc sasl2-plug-anonymous sasl2-plug-crammd5 sasl2-plug-digestmd5 sasl2-plug-gssapi sasl2-plug-login sasl2-plug-ntlm sasl2-plug-otp sasl2-plug-plain sasl2-plug-sasldb sasl2-programs 0 atualizados, 12 novos instalados, 0 removidos e 0 não atualizados. É preciso pegar 0B/620kB de arquivos. Após desempacotar 3567kB de espaço adicional serão utilizados. Você quer continuar? [S/n] S Aplicando modificações... Preparing... ########################################### [100%] 1:sasl2-programs ########################################### [ 8%] 2:sasl2-devel ########################################### [ 17%] 3:sasl2-doc ########################################### [ 25%] 4:sasl2-plug-anonymous ########################################### [ 33%] 5:sasl2-plug-crammd5 ########################################### [ 42%] 6:sasl2-plug-digestmd5 ########################################### [ 50%] 7:sasl2-plug-gssapi ########################################### [ 58%] 8:sasl2-plug-login ########################################### [ 67%] 9:sasl2-plug-ntlm ########################################### [ 75%] 10:sasl2-plug-otp ########################################### [ 83%] 11:sasl2-plug-plain ########################################### [ 92%] 12:sasl2-plug-sasldb ########################################### [100%] Feito. [root@faqcl10 apt]# Com o SASL e seus plugins instalados, vamos pra configuração dele. Criar o arquivo de senhas: echo "smtp.seudominio.com.br usuario:suasenha" > /etc/postfix/sasl_passwd Por exemplo: pro usuario zago com senha minhasenha autenticar no servidor http://www.zago.eti.br, usei esta linha de comando: echo "smtp.zago.eti.br zago:minhasenha" > /etc/postfix/sasl_passwd depois edit o arquivo sasl_passwd pra separar o dominio do nome do usuário, basta um tab entre eles. Ajuste as permissões com os comandos: chown root.root /etc/postfix/sasl_passwd chmod 600 /etc/postfix/sasl_passwd deverá ficar assim: [root@faqcl10 apt]# cat /etc/postfix/sasl_passwd smtp.zago.eti.br zago:minhasenha OBS. Na configuração do SASL o dominio deve ser o mesmo utilizado no item (relayhost = smtp.zago.eti.br) do /etc/postfix/main.cf, portanto utilize o mesmo dominio nas duas configurações, nos dois arquivos, tanto no: /etc/postfix/sasl_passwd e /etc/postfix/main.cf Caso ocorra algum erro, edite o /etc/postfix/sasl_passwd, retire todos os espaços e use um TAB pra separar o dominio do usuário:senha. use um editor de texto, por exemplo: vi /etc/postfix/sasl_passwd Pra criar o banco de dados, execute postmap hash:/etc/postfix/sasl_passwd este comando não retorna mensagem, utiliza os usuarios e senhas do arquivo: /etc/postfix/sasl_passwd pra criar o bando de dados do SASL em: /etc/postfix/sasl_passwd.db, sempre que utilizar o comando acima, ou alterar qualquer parametro do /etc/postfix/main.cf precisa também recarregar o postfix pra valer as alterações, pra recarregar o postfix execute: service postfix reload O arquivo de configuração do postfix /etc/postfix/main.cf pode ser copiado de outra istalação, ou faça a seu modo editando o arquivo /etc/postfix/main.cf Pra fazer relay no provedor, precisa configurar o main.cf pra utilizar os SASL, precisa, após a instalação e configuração do SASL, edite o /etc/postfix/main.cf e acrescente no final deste arquivo as seguintes linhas: # Autenticação smtp smtp_sasl_auth_enable = yes smtp_sasl_security_options = noanonymous smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd Salve, feche o arquivo e recarregue o arquivo de configuração do postfix: service postfix reload Agora pode ir por topico de configuração do cliente de e-mail, vá pra uma estação da rede e configure um cliente de e-mail pra testar o envio de e-mail pro mundo, pra enviar e-mail pra contas como do Yahoo, UOL e etc..., isto é, fazendo relay no teu provedor, volte pro tópico: CLIENTE DE E-MAIL, configurando clientes de e-mail nas estações da rede interna, entre eles Evolution, Kmail, Outlouco. Pra fazer alterações, inclusão de novos usuários e senhas, Após qualquer alteração neste arquivo precisa recriar o banco de dados do SASL, o melhor é remover tudo e começar do zero, então faça isto: use o editor vi pra alterar, incluir ou fazer as correções da configuração: vi /etc/postfix/sasl_passwd Execute as linhas de comando abaixo, na ordem em quje estão, elas servem pra remover o banco de dados, ajustar as permissões, recriar o banco de dados do SASL e por ultimo recarregar o postifix pra valer as alterações. rm -rf /etc/postfix/sasl_passwd.db chown root.root /etc/postfix/sasl_passwd chmod 600 /etc/postfix/sasl_passwd postmap hash:/etc/postfix/sasl_passwd service postfix reload Agora teste a configuração enviando e-mail pro mundo, pra detectar erros e acompanhar o que está acontecendo, veja no log, execute: tail -f /var/log/maillog OBS. O formato de dados no arquvo /etc/postfix/sasl_passwd pode ser diferente de um provedor pra outro, por exemplo: Pro UOL, IG, e muitos outros provedores funciona neste formato: smtp.dominio.com.br usuário:senha ou smtp.uol.com.br zagolinux:minhasenha YAHOO! Pro Yahoo tem que usar neste formato: smtp.mail.yahoo.com.br zagolinux:minhasenha Com um pequeno detalha a mais, antes de fazer relay, precisa entrar na sua conta de e-mail do Yahoo via web, em "Oções do Yahho Mail" procure por "Acesso POP e REdirecionamento" confirme a opção por acesso via POP, esta opção é a mesma que voce precisa configurar pra enviar e-mail atraves de clientes de e-mail. LOCALWEB, FASTWEB, SCHEMER etc... Pra quem tem sites hospedados na Localweb, Schemer, fastweb e etc.. o formato da linha de configuração no /etc/postfix/sasl_passwd tem que ser assim: smtp.dominio.com.br usuário@dominio.com.br:senha ou smtp.csr.com.br zago@csr.com.br:minhasenha Veja que o detalhe está no usuário, pra alguns provedores se usa o nome de login, pra outros o nome de login é a conta de e-mail completa no formato usuario@dominio.com.br Quando não funcionar de uma maneira tente da outra. testes foram feitos com sites hospedados em: http://www.fastweb.com.br http://www.schemer.com.br http://www.localweb.com.br OBS. nestes servidores, a configuração do /etc/postfix/sasl_passwd tem este formato: smtp.csr.com.br zago@csr.com.br:minhasenha Nos provedores abaixo, funciona neste formato: smtp.uol.com.br zagolinux:minhasenha http://www.uol.com.br http://www.ig.com.br http://www.bol.com.br http://www.yahoo.com.br http://www.click21.com.br OBS IMPORTANTE. Ainda não entendi, nem tenho a solução, está funcionando com esta "gambi" Pra baixar e-mail do provedor para o servidor local o fetchmail da conta do recado, baixa e-mail de diversos provedores sem problema algum. Pra enviar e-mail, precisa fazer relay no provedor, coloquei todas as contas com suas respecitivas senhas no arquivo de configuraçao do SASL e nenhuma funcionou, quando coloquei somente uma conta de e-mail e sua senha no SASL todas as contas passaram a fazer relay, ficou assim: uma unica conta de email cadastrada arquivo: /etc/postfix/sasl_passwd tenho diversas estações cada uma com contas de e-mail diferentes, a única coisa incomum entre elas é o dominio, mesmo as contas não cadastradas no SASL enviam e-mail pro mundo normalmente, estão fazendo relay no provedor com a conta cadastrada, por exemplo, tenho somente a conta de e-mail do zago@zago.eti.br cadastrada no SASL, mas o antonio, francisco, rui, diceu e todos os usuários que tem conta no servidor interno mandam e-mail pro mundo, até contas de e-mail inexistentes no provedor que faz relay. Enfim, a dupla postfix+sasl faz relay de qualquer conta na única conta cadastrada. Ficou confuso, qualquer momento explico isto melhor...... Caso alguém tenha a solução, por favor, envie pro FAQ. ******************************************************** TOPICO SOBRE WEBMAIL - Uebimiau veja mais detalhes sobre ele no tópico CL 10 - WEBMIAU em: http://www.zago.eti.br/email/uebimiau.txt chkconfig --level 35 imap on chkconfig --level 35 imaps on ******************************************************** DNS host -a exemplo pro UOL # host -a www.uol.com.br Trying "www.uol.com.br" ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 840 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ;www.uol.com.br. IN ANY ;; ANSWER SECTION: www.uol.com.br. 274 IN A 200.221.8.18 www.uol.com.br. 274 IN A 200.221.8.17 www.uol.com.br. 274 IN A 200.221.8.16 ;; AUTHORITY SECTION: uol.com.br. 540 IN NS eliot.uol.com.br. uol.com.br. 540 IN NS borges.uol.com.br. ;; ADDITIONAL SECTION: eliot.uol.com.br. 830 IN A 200.221.11.98 borges.uol.com.br. 1035 IN A 200.147.255.105 Received 153 bytes from 200.204.0.10#53 in 1294 ms ******************************************************** REDIRECIONAR PRA OUTRA MAQUINA DA REDE INTERNA, Regras de iptables (firewall) pra redirecionar o trafego de e-mail pra outra maquina da rede interna (servidores atras de uma NAT) obs. este tópico está em elaboração, não use esta parte.... iptables -t nat -A PREROUTING -t nat -p tcp -d 200.204.198.164 --dport 25 -j DNAT --to 192.168.1.238:25 iptables -t nat -A PREROUTING -i eth0 -p tcp --sport 25 -j DNAT --to-destination 192.168.1.238 pendente pra fazer testes. #Redirecionar Porta SMTP iptables -t nat -A PREROUTING -s 200.204.164.198 -i eth0 -j DNAT --to 192.168.1.4 iptables -t nat -A POSTROUTING -s 200.204.164.198 -o eth0 -p tcp --dport 25 -j ACCEPT iptables -t nat -A POSTROUTING -s 192.168.1.4 -o eth0 -j SNAT --to 200.204.164.198 iptables -t nat -A POSTROUTING -s 192.168.1.4 -o eth0 --p tcp --dport 25 -j ACCEPT iptables -A INPUT -p tcp -s 0/0 --source-port 25 -j ACCEPT iptables -A INPUT -p tcp -s 0/0 --source-port 110 -j ACCEPT iptables -A INPUT -p tcp -s 0/0 --source-port 53 -j ACCEPT iptables -A INPUT -p udp -s 0/0 --source-port 53 -j ACCEPT ******************************************************** DICAS: o Postfix tem a mesma finalidade do Qmail, portando os dois nunca deverão ser instalados pra rodarem simultaneamente na mesma maquina porque terás problema com os dois aceitando conexões na mesma porta. Pra descobrir qual tipo de autenticação do seu SMTP. Neste exemplo, fiz um telnet de outra maquina da rede interna para o servidor de e-mail interno, primeiro digitei: telnet 192.168.1.222 smtp [root@mail log]# telnet 192.168.1.222 smtp Trying 192.168.1.222... Connected to 192.168.1.222. Escape character is '^]'. 220 email.intranet.br ESMTP Postfix (2.0.7) fica parado nesta tela, agora digite: EHLO localhost [root@faqmail postfix]# telnet 192.168.1.222 smtp Trying 192.168.1.222... Connected to 192.168.1.222. Escape character is '^]'. 220 email.intranet.br ESMTP Postfix (2.0.7) EHLO localhost 250-email.intranet.br 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250 8BITMIME pra sair digite quit Quando voce digita correio.seu.dominio.com.br pra acessar tua conta de e-mail via webmail, faça telnet assim: [root@mail log]# telnet correio.seudominio.com.br smtp Trying 200.142.252.56... Connected to correio.xxxx.com.br. Escape character is '^]'. 220 pop3host.ns1.com.br ESMTP EHLO localhost 250-pop3host.ns1.com.br 250-PIPELINING 250 8BITMIME quit 221 pop3host.ns1.com.br Connection closed by foreign host. ******************************************************** ALGUMAS DICAS SOBRE OS ITENS DE CONFIGURAÇÃO do /etc/postfix/main.cf mynetwork = aqui vai a rede ou ip que pode fazer o Relay, exemplo pra permitir somente as maquinas da rede interna enviar e-mail: mynetworks = 192.168.1.0/24, 127.0.0.0/8 relayhost relayhost = smtp.zago.eti.br do /etc/postfix/main.cf Pra quem tem servidor interno, neste item deve informar o servidor (provedor) que utilizara pra autenticar a saida das mensagens, popularmente chamado de fazer relay, pra combater SPAM, a maioria dos provedores rejeitam mensagens de servidores de e-mail das conexões discadas e ADSL em geral, pra sulucionar este problema, no envio de e-mail voce faz autenticação (relay) no provedor, com este procedimento voce pode mandar e-mail pro mundo sem problemas, lembre que o postfix precisa do SASL pra fazer esta autenticação, veja neste documento o topico sobre SASL. ******************************************************** entregar mensagens ? postqueue -f ********************************************************