Guia do Linux/Iniciante+Intermediário/Conectando seu computador a Internet/Recebimento de E-Mails através do fetchmail
Recebimento de E-Mails através do fetchmail
[editar | editar código]É o programa mais tradicional no recebimento de mensagens através dos serviços pop3, imap, pop2, etc. no GNU/Linux. Ele pega as mensagens de seu servidor pop3 e as entrega ao MDA local ou nos arquivos de e-mails dos usuários do sistema em /var/mail
Todo o funcionamento do fetchmail é controlado pelo arquivo ~/.fetchmailrc. Segue abaixo um modelo padrão deste arquivo:
poll pop3.seuprovedor.com.br protocol pop3
user gleydson password sua_senha keep fetchall is gleydson here
Este arquivo é lido pelo fetchmail na ordem que foi escrito. Veja a explicação abaixo sobre o arquivo exemplo:
- A palavra poll especifica o servidor de onde suas mensagens serão baixadas, o servidor especificado no exemplo é pop3.seuprovedor.com.bt. A palavra skip pode ser especificada, mas as mensagens no servidor especificado por skip somente serão baixadas caso o nome do servidor de mensagens for especificado através da linha de comando do
fetchmail. - protocol é o protocolo que será usado para a transferência de mensagens do servidor. O
fetchmailutilizará a auto-detecção de protocolo caso este não seja especificado. - user define o nome do usuário no servidor pop3.seuprovedor.com.br, que no exemplo acima é gleydson.
- password define a senha do usuário gleydson (acima), especificada como sua_senha no exemplo.
- keep é opcional e serve para não apagar as mensagens do servidor após baixa-las (útil para testes e acesso a uma única conta de e-mail através de vários locais, como na empresa e sua casa por exemplo).
- fetchall baixa todas as mensagens do provedor marcadas como lidas e não lidas.
- is gleydson here é um modo de especificar que as mensagens obtidas de pop3.seuprovedor.com.br do usuário gleydson com a senha sua_senha serão entregues para o usuário local gleydson no diretório
/var/mail/gleydson.
As palavras is e here são completamente ignoradas pelo fetchmail, servem somente para dar um tom de linguagem natural na configuração do programa e da mesma forma facilitar a compreensão da configuração.
Se possuir várias contas no servidor pop3.seuprovedor.com.br, não é necessário repetir toda a configuração para cada conta, ao invés disso especifique somente os outros usuários do mesmo servidor:
poll pop3.seuprovedor.com.br protocol pop3
user gleydson password sua_senha keep fetchall is gleydson here
user conta2 password sua_senha2 fetchall is gleydson here
user conta3 password sua_senha3 fetchall is gleydson here
Note que todos os e-mails das contas gleydson, conta2 e conta3 do servidor de mensagens pop3.seuprovedor.com.br são entregues ao usuário local gleydson (arquivo /var/mail/gleydson).
Agora você pode usar um programa MUA como o mutt ou pine para ler localmente as mensagens. O armazenamento de mensagens no diretório /var/mail é preferido pois permite a utilização de programas de notificação de novos e-mais como o comsat, mailleds, biff, etc.
Também é possível utilizar um processador de mensagens ao invés do MTA para a entrega de mensagens. O programa procmail é um exemplo de processador de mensagens rápido e funcional que pode separar as mensagens em arquivos de acordo com sua origem, destino, assunto, enviar respostas automáticas, listas de discussão, envio de arquivos através de requisição, etc. Veja [#s-inter-procmail Processamento de mensagens através do procmail, Seção 28.3.1] para detalhes.
Para mais detalhes sobre outras opções específicas de outros protocolos, checagem de mensagens, criptografia, etc, veja a página de manual do fetchmail.
Processamento de mensagens através do procmail
[editar | editar código]O processamento de mensagens pode ser usado para inúmeras finalidades, dentre elas a mais comum é separar uma mensagem em arquivos/diretórios de acordo com sua origem, prioridade, assuntos, destinatário, conteúdo, etc., programar auto-respostas, programa de férias, servidor de arquivos, listas de discussão, etc.
O procmail é um programa que reúne estas funções e permitem muito mais, dependendo da habilidades e conhecimento das ferramentas GNU/Linux para saber integra-las corretamente. Toda a operação do procmail é controlada pelo arquivo /etc/procmailrc e ~/.procmailrc. Abaixo um modelo do arquivo ~/.procmailrc usado para enviar todas as mensagens contendo a palavra GNU/Linux no assunto para o arquivo mensagens-linux:
PATH=/usr/bin:/bin:/usr/local/bin:
MAILDIR=$HOME/Mail
DEFAULT=$MAILDIR/mbox
LOGFILE=$MAILDIR/log
:0:
* ^Subject:.*Linux
mensagens-linux
A variável de ambiente MAILDIR especifica o diretório que serão armazenadas as mensagens e logs das operações do procmail. A variável DEFAULT especifica a caixa de correio padrão onde todas as mensagens que não se encaixam nas descrições do filtro do procmailrc serão enviadas. A variável LOGFILE especifica o arquivo que registrará todas as operações realizadas durante o processamento de mensagens do procmail.
O arquivo mensagens-linux é criado dentro do diretório especificado por MAILDIR.
Para que o procmail entre em ação toda vez que as mensagens forem baixadas via fetchmail, é preciso modificar o arquivo .fechmailrc e incluir a linha mda /usr/bin/procmail -d %T no final do arquivo e retirar as linhas is [usuáriolocal] here para que o processamento das mensagens seja feita pelo MDA local (neste caso, o procmail).
Se quiser que o procmail seja executado pelo MDA local, basta criar um arquivo ~/.forward no diretório do usuário e incluir a linha exec /usr/bin/procmail (note que em algumas implementações do exim, o procmail é executado automaticamente caso um arquivo ~/.procmailrc seja encontrado, caso contrário será necessário adicionar a linha "/usr/bin/procmail" ao arquivo ~/.forward (somente exim).
Para mais detalhes, veja a página de manual do procmail, procmailrc e HOWTOs relacionados com e-mails no GNU/Linux.