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
É 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
fetchmail
utilizará 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
editarO 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
.