Alguns comandos, modelos, indicações e dicas utilizados na configuração e manutenção do Fetchmail
O Fetchmail busca mensagens de e-mail em outro servidor, transfere (faz download) de e-mail de outros servidores para o servidor local, trabalha em conjunto com MTA, como exemplo o Postfix, ideal para transferir as mensagens de e-mail de provedores externos para o servidor de e-mail local.
Fetchmail não envia e-mail, não é cliente de e-mail, não entrega mensagens para os cliente de e-mail, nem recebe e-mail, somente pega as mensagens no provedor e entrega para um MTA, como exemplo Postfix, o resto requer outros pacotes, para ler as mensagens requer um cliente de e-mail, pode ser webmail ou cliente de e-mail que baixe as mensagens do servidor local para estação, neste caso requer ou servidor POP ou IMAP para entrega das mensagens, como pode notar, um servidor de e-mail requer diversos programas, cada um fazendo sua parte, Fetchmail faz somente a transferencia do provedor externo para o MTA interno.
Suporta os protocolos POP, POP3, IMAP e muitos outros, não é um cliente de e-mail mas busca as mensagens de forma bem semelhante, a diferença consiste em baixar as mensagens e entregar para o MTA local, permite configurar diversos servidores e contas remotas, faz a entrega na conta local conforme a configuração.
O Fetchmail baixa as mensagens e salva no arquivo, /var/spool/mail/usuariolocal ou outro local conforme o MTA, Onde usuariolocal tem que ser um usuário da maquina e será indicado nas configurações do fetchmail.
O intervalo de tempo é definido em segundos ou se preferir use crontab para executar nos intervalos desejados.
Com as mensagens no servidor local pode passar antivirus, anti spam e outras ferramentas de controle de e-mail.
Muitas vezes precisamos de controle mais refinado no recebimento de mensagens, aplicar filtros, anti-virus e outras regras, serviços que muitos sites que hospedam páginas e servidores de e-mail não oferem ou não atendem às necessidades, podemos montar um servidor local e aplicar os controles desejados.
Servidor de e-mail envolve varios pacotes, por exemplo o Postfix, ele recebe mensagens enviadas a ele diretametne mas não busca as mensagens em outro servidor (provedor externo), então resta duas opções, tornar ele o servidor único e pedir para quem administra o dominio fazer o redirecinamento do MX para a maquina interna que automaticamente assume todo o serviço de recebimento e entrega de e-mail, antes de pedir isto, considere que a maquina precisa ficar no ar o tempo todo, tudo será concentrado nela, inclusive ataques e tentativas de usa-la para spam, estude o consumo de banda e outros detalhes.
Quem não domina administração de servidores de e-mail, acho uma boa opção iniciar com a montagem de um servidor interno, faça testes com contas criadas para testes, IG, GMAL ou crie contas de testes no seu provedor, mantenha o servidor externo onde hospeda a página, não altere nada no provedor, ele nem precisa ficar sabendo que voce tem um servidor interno, simplesmente monte um servidor interno e use o fetchmail para transferir (baixar) todas as mensagens. O fetchmail baixa as mensagens como um cliente de e-mail qualquer, faz a entrega ao Postfix ou outro MTA e demais aplicativos de controle...
Não tem uma configuração aplicável a todos os provedores, não perca tempo pedindo ajuda para configurar o fetchmail, sempre que tentei obter ajuda no suporte de varios provedores, nas páginas de ajuda não tem informação alguma, em contato telefonico os atendentes sempre com a resposta padrão:
"não conhecemos este seu programa (fetchmail), insistem que voce deve fazer o acesso pelo browser, (webmail) querem mostrar que sua conta de e-mail está OK.
Não adianta argumentar que preciso baixar as mensagens via Fetchmail, que funciona com outros provedores, em resumo, a resposta é sempre a mesma, parece uma gravação, "por favor acesse pelo navegador", "pela página da web ou Outloock" querem mostrar que o sistema deles está Ok e o problema está no seu programa, como você pode ver, tudo esta funcionando, não conhecemos este seu cliente de e-mail nem damos suporte.
Toda a minha insistencia para resolver este problema foi inútil, nestas horas me sinto conversando com uma maquina, sempre aquela resposta padrão, não damos suporte a este tipo de programa, o problema é no teu programa e por aí vai.......
Neste documento tem diversos modelos de configuração para diversos provedores, caso o teu não esteja na lista, vai ter que adaptar, com um pouco de tentativas de erro e acerto, testando uma por uma vai conseguir.
Caso descubra outras soluções, outros programas que faz o mesmo serviço do fetchamil, outras configurções, por favor, envie a solução pro FAQ, envie para zagolinux@uol.com.br e menciona em algum lugar da menagem "pro FAQ", copia destas mensagens vão para o arquivo fetchmail.txt (neste diretório). A comunidade agradece.
Este pacote está presente na maioria das distro, procure no seu gerenciador de pacotes pelo (fetchmail)
A seguir alguns exemplos de instalação em algumas distribuições.
Este arquivo requer um cuidado muito especial, deve impedir o acesso de pessoas não autorizadas, lembre que contém as senhas em formato texto, quem tiver acesso a este arquivo consegue pegar as senhas das contas de e-mail
Não encontrei maneira de criptografar este arquivo, a solução adotada foi com permissões via chmod.
Baixar e-mails de provedor externo, além de instalar, precisa configurar o fetchmail, ele não vem com um arquivo de configuração, precisa criar com os dados do usuário, de preferencia no home do usuário, como vou utilizar varias contas em provedores diferentes, optei por colocar este arquivo no home do root e protejer o acesso deste arquivo, evitar que usuário comum tenha acesso para pegar as senhas.
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
Exemplo com root.
No home do root (diretório do root), use seu editor preferido para criar o arquvivo .fetchmailrc, ou com "vi"
cd ~ vi .fetchmailrc
pressione insert pra entrar no modo inserção digite as linhas de configuração ou copie de outra instalação ou até mesmo dos modelos deste documento e faça os ajustes, altere os dados necessários, depois salve, pressione ESC SHIFT+:, :wq
Ajustar a permissão e executar;
chmod 710 .fetchmailrc fetchmail
prontinho..., acompanhe as mensagens no log;
tail -f /var/log/fetchmaillog
Neste documento tem mais dicas para testar o funcionamento.
Embora não seja recomendável, pode executar como root, dentro do home do root, o comando:
fetchmail -a
cd /root fetchmail -a
o parametro (set daemon 300) dentro do arquivo .fetchmailrc indica o tempo em segundos que o fetchmail vai buscar as mensagens no provedor, 300 = 5 minutos, ajuste o tempo conforme sua necessidade.
Quem usar esta opção deve iniciar o fetchmail toda vez que ligar ou reiniciar o micro, pode facilitar com uma entrada no crontab para executar de tempos em tempos, quando optar pelo crontab deverá remover o parametro (set daemon 300) das configurações do fetchmail e configurar no crontab o tempo desejado.
Como configurar o crontab pra executar o fetchmail a cada 5 minutos, em um terminal como root, execute:
crontab -e
este comando vai abrir o editor vi
, basta pressionar a tecla INSERT e digitar a linha abaixo:
*/5 * * * * fetchmail -a
depois pressione a tecla ESCAPE, depois a tecla SHIFT+: e depois wq pra gravar e sair :wq
Alguns comandos úteis:
crontab -l
- Lista as tarefas agendadas
crontab -e
- Editar o agendador de tarefas, incluir, alterar ou remover entradas.
Outras opções e mais sobre o cron, crontab, agendador de tarefas e etc.. veja em:
http://www.zago.eti.br/agenda.txt
Tem o pacote do fetchmail no CD de instalação, use seu gerenciador de pacotes ou via smart basta executar;
smart install fetchmail
Automaticamente cria uma entrada para chkconfig com todas opções off
Reiniciei a maquina e passou a baixar as mensagens, ainda não procurei na configuração, em um teste, criei o .fetchmailrc no /root e entrei no webmin para testar a configuração, acabei desistindo por falta de tempo, quando liguei a maquina em outro dia, baixou as mensagens normalmente, pelo chkconfig está desabilitdado, neste script /etc/init.d/fetchmail não encontrei dados da conta nem chamada para minha configuração. preciso descobrir se foi configuração do webmin ou de outro script que está iniciando e de onde está pegando os dados.
Minha configuração para baixar mensagens do IG.
cd ~ cat .fetchmailrc set logfile "/var/log/fetchmaillog" set postmaster "nome do postmaster" set daemon 300 set bouncemail poll pop3.ig.com.br proto POP3 user zago_hard password minhasenha is zago here ls -la .fetchmailrc -rwx--x--- 1 root root 200 May 7 06:41 .fetchmailrc
Neste tutorial tem mais exemplos para outros provedores.
Tem o pacote do fetchmail no CD de instalação, basta executar;
apt-get install fetchmail
Criar o arquivo de configuração, procure no menu pelos exemplos conforme o provedor.
No FAQ (fetchmail.txt) tem mais dicas.
Meu .fetchmailrc para baixar e-mail da conta: antoniofzago@uol.com.br e salvar em /var/spool/mail/zago:
cat .fetchmailrc
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 minhasenha is zago here
Modelo para baixar mensagens de diversos provedores e contas diferentes.
cat /root/.fetchmailrc
set logfile "/var/log/fetchmaillog" set postmaster "nome do postmaster" set daemon 300 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 zagoteste there with password senhadoxxxx is zago here user zagorede there with password senhadoxxxx is zago here
Nesta configuração estão incluidos os provedores IG, UOL e TERRA, observe que o provedor Terra tem um parametro a mais, tem o parametro "bra" utilizado em contas de e-mail dos assinantes do plano speedy business, quem assina speedy home ou conexão discada, deve usar outras opções, é a mesma utilizada no cliente de e-mail, para São Paulo é spo para Speedy home, veja como configurou no seu cliente de e-mail ou procure no site deles, no suporte pelo atentimento telefonico. Quando configurei minha conta, o suporte informou que este parametro é obrigatorio.
OBS IG
Dica envia por Hélio.
O serviço do email do ig passou a funcionar com o software da google, por isso sugiro que altere no seu tutorial as dicas de fetchmail para quem usa email do ig.com.br.
Usei as dicas que v. deu para o gmail nas minhas contas ig e aí elas passaram a funcionar corretamente.
abs Hélio
Por default as configurações do Yahoo são para acessar as mensagens somente via webmail, antes de usar um cliente de e-mail precisa acessar a página do Yahoo e selecionar a opção POP, para o provedores o fetchmail funciona como um cliente de e-mail POP.
Baixar e-mail do Yahoo, use nas configurações de POP:
pop.mail.yahoo.com.br
Exemplo:
poll pop.mail.yahoo.com.br proto POP3 user zagolinux password minhasenha is zago here
Nas configurações de smtp no Postfix e SASL, use:
smtp.mail.yahoo.com.br
GMAIL - como baixar via fetchmail no CL10
Acesse seu e-mail, no canto superior direito, entre em "Definições", na nova tela entre em " Encaminhamento e POP", nesta tela procure pelas opções de configuração POP "Download pelo POP:", configure de maneira que permita o download das mensagens, neste tela tem indicações de ajuda para configurar diversos clientes de cliente de e-mail, clique em "Saiba mais" e "Instruções de configuração".
Optei por baixar as mensagens via pop e enviar para lixeira, não achei opção eliminar mensagens, então optei pela lixeira, com esta opção o fetchamail baixa as mensagens e automaticamente elas vão para a lixeira do Gmail, no meu .fetchmail para salvar as mensagens de zagolinux@gmail.com na conta do usuário zago local, acrescentei:
poll pop.gmail.com with proto POP3 port 995 user 'zagolinux' there with password 'minhasenha' is 'zago' here options fetchall ssl
Use neste formato:
poll pop.gmail.com with proto POP3 port 995 user 'seuusuáriogmail' there with password 'suasenhagmail' is 'usuáriolocal' here options fetchall ssl
Cuidado com a quebra de linha, navegadores e editores sempre quebram a linha, no exemplo acima são duas linhas, a primeira inicia com poll e termina com 995, a segunda linha inicia com user e termina com ssl.
Na minha configuração Postfix no CL9 ou CL10, as mensagens são gravadas automaticamente em:
/var/spool/mail/nomedelogindousuario
no /etc/profile tem esta linha:
MAIL="/var/spool/mail/$USER"
Além desta linha tem a configuração do MTA, nesta configuração tem o Postfix. Caso queira gravar as mensagens no home do usuário ou outro local, tente descobrir o que alterar nesta linha do profile e na configuração do MTA.
[root@faqcl10 root]# cat .fetchmailrc set logfile "/var/log/fetchmaillog" set postmaster "nome do postmaster" set daemon 300 set bouncemail poll pop.zago.com.br proto POP3 user zagoteste@zago.com.br password minhasenha is zago here
Localweb ou Locaweb, neste provedor o nome do usuário tem que estar no formato usuario@seudominio.com.br, exemplo de .fetchmailrc para zagoteste@lupanet.com.br:
[root@faqcl10 root]# cat .fetchmailrc set logfile "/var/log/fetchmaillog" set postmaster "nome do postmaster" set daemon 300 set bouncemail poll pop.lupanet.com.br proto POP3 user zagoteste@lupanet.com.br password minhasenha is zago here
Ainda não consegui baixar e-mail do click21, o Anderson enviou esta mensagem de erro quando tenta baixar as mensagens via fetchmail:
Erro desconhecido de login ou autenticação em andersonmsp@pop.click21.com.br fetchmail: erro protocolo cliente/servidor enquanto baixando mensagens de pop.click21.com.br fetchmail: Situação da consulta=4 (PROTOCOLO)
Ainda não pesquisei, precisa verificar se tem alguma opção no site deles, algo como no Yahoo ou Gmail.
A primeira linha do .fetchmailrc define o local e arquivo de log.
set logfile "/var/log/fetchmaillog"
O arquivo de log /var/log/fetchmaillog, será criado automaticamente na primeira execução do fetchmail, acompanhe os logs enquanto são criados, execute:
tail -f /var/log/fetchmaillog
Definir rotação do arquivo de log, configure em /etc/logrotate.d/fetchmail
mais exemplos e dicas no FAQ log.txt e fetchmail.txt
Não esqueça do manual, páginas do man, no console execute; man fetchmail