Ensinando seu servidor a ler emails e liberar acesso SSH
Esta solução baseia-se em um programa que recebe emails via console e os armazena em forma de arquivos de texto, um programa que envia emails via console e um script shell que trata os emails com base em algumas instruções pré-estabelecidas, sendo executado a cada 5 minutos.
Parte 2: Configurando o servidor para receber emails (Getmail)
Instalação
Passo 1: Baixando$ wget http://pyropus.ca/software/getmail/old-versions/getmail-4.7.6.tar.gz
Passo 2: Descompactando
$ tar -vxzf getmail-4.7.6.tar.gz
Passo3: Instalando o programa
Pode ser feito como usuário comum:
$ python setup.py build
Deve ser feito como root:
# python setup.py install
2.b. Configuração
Passo 1: Criando o ambiente
$ mkdir -m 700 ~/.getmail
$ touch ~/.getmail/getmailrc
$ mkdir -p ~/.getmail/{cur,new,tmp}
Passo 2: Configurando o "getmailrc"
$ vim ~/.getmail/getmailrc
[options]
verbose = 0
delete = true
message_log = ~/.getmail/log
message_log_syslog = true
[destination]
type = Maildir
path = ~/.getmail/
[retriever]
type = SimplePOP3Retriever
server = pop.provedor.com.br
username = usuário
password = senha
verbose = 0
delete = true
message_log = ~/.getmail/log
message_log_syslog = true
[destination]
type = Maildir
path = ~/.getmail/
[retriever]
type = SimplePOP3Retriever
server = pop.provedor.com.br
username = usuário
password = senha
Explicando as configurações do getmailrc:
[options] #<-- define as opções gerais.
verbose = 0 #<-- o programa não emitira avisos
delete = true #<-- as mensagens serão baixadas do servidor de email
message_log = ~/.getmail/log #<-- irá gerar informações de log
message_log_syslog = true #<-- Também ira gerar informações de log para o syslog (pura paranóia minha) @:P
[destination] #<-- define como serão entregue os e-mail baixados
type = Maildir #<-- forma de entrega do e-mail
path = ~/.getmail/ #<-- caminho onde ficarão os emails
[retriever] #<--define os parâmetros para receber os e-mails
type = SimplePOP3Retriever #<-- tipo de servidor de e-mail (POP3 simples)
server = pop.provedor.com.br #<-- o provedor de e-mail
username = usuário #<-- usuário de e-mail
password = senha #<-- senha do e-mail
verbose = 0 #<-- o programa não emitira avisos
delete = true #<-- as mensagens serão baixadas do servidor de email
message_log = ~/.getmail/log #<-- irá gerar informações de log
message_log_syslog = true #<-- Também ira gerar informações de log para o syslog (pura paranóia minha) @:P
[destination] #<-- define como serão entregue os e-mail baixados
type = Maildir #<-- forma de entrega do e-mail
path = ~/.getmail/ #<-- caminho onde ficarão os emails
[retriever] #<--define os parâmetros para receber os e-mails
type = SimplePOP3Retriever #<-- tipo de servidor de e-mail (POP3 simples)
server = pop.provedor.com.br #<-- o provedor de e-mail
username = usuário #<-- usuário de e-mail
password = senha #<-- senha do e-mail
2.c. Testando o "getmailrc"
Primeiro, mande alguns e-mails de teste para o e-mail do servidor e depois execute o getmail.
$ getmail
Se tudo deu certo, cada e-mail recebido será armazenado na pasta ~/getmail/new, conforme segue:
$ cd ~/.getmail/new
$ ls -l
-rw------- 1 teste users 2163 2007-10-25 11:49 1193314402.M991323P8523Q0R2c29d22e5e4625a3.teste
-rw------- 1 teste users 3123 2007-10-25 12:01 1193320910.M811470X8533Q0Rdd762e921fca3721.teste
Dica: Você pode acompanhar pelo log (tail -f ~/.getmail/log).
Pronto, seu servidor agora já esta recebendo e-mails.
Só fiquei preocupado em dar os direitos a todos os usuários a rodar o iptables no /etc/sudoers... mas dá-se um jeito ;)
Abraços e parabéns!