Filtrando E-mails com Sieve no Cyrus-Imap

Para quem não conhece, o Sieve é uma linguagem para filtragem de emails, existe várias implementações dessa linguagem, eu vou apresentar aqui algumas dicas da implementação que é utilizada pelo Servidor Cyrus Imap.
No site http://sieve.info tem muitas informações sobre essa linguagem e suas várias implementações.
Meus exemplos serão baseados no servidor Cyrus-Imap disponível no Ubuntu 12.04 LTS.

Para criar um script para filtragem de emails no Sieve é recomendável estar logado com o usuário cyrus.
# sudo su – cyrus

Os scripts para filtragem de emails do sieve no Ubuntu por padrão são armazenados no diretório: /var/spool/sieve. Cada caixa postal criada no cyrus deverá ter um diretório correspondente no sieve.

No meu exemplo irei utilizar uma conta de e-mail com o meu nome, portanto vai existir um diretório:
/var/spool/cyrus/mail/a/adonai – que irá armazenar os meus e-mails
/var/spool/sieve/a/adonai – que vai armazenar o script e as regras compiladas para execução no servidor.

No meu exemplo arquivo que vai armazenar as regras vai ser o nome do usuário .script no meu caso vai ser “adonai.script”.

Vou criar uma regra bem simples de exemplo, está regra redireciona todos os emails enviados para adonai@adonai.eti.int para os usuários: paulo@adonai.eti.int e luiz@adonai.eti.int e guarda uma cópia do e-mail na caixa de entrada.

Caso o usuário não queira manter uma copia da mensagem na caixa de entrada é só remover o comando:
fileinto “INBOX”

Após ser criado o arquivo com as regras que serão utilizadas para filtrar as mensagens, é necessário se conectar no servidor Sieve.
No Ubunto o servidor Sieve utiliza a porta 4190 mas existe algumas distribuições que usam a porta 2000.

-u: informa o usuário que vai ter o script alterado
-a: informa o usuário que é administrador no cyrus

Após fazer o login no servidor é preciso enviar script com os novos filtros, o comando que faz isso é o seguinte:

Esse comando compila o arquivo adonai.script no servidor.
Feito isso é preciso ativar o script no servidor para filtrar as mensagem, para ativar o script, utiliza-se o comando:

One comment

  • Bruno

    Adonai. muito obrigado pelo tutorial.

    Estou com a situação onde tenho 200 contas de emails e vivo criando e removendo contas.

     

    Precisava criar uma regra para que seja aplicada para todos os emails sem a necessidade de eu criar regra a regra de forma manual.

     

    Na regra eu irei usar é a :

     

    É possível criar essa regra geral?

    Como faço?

    Obriagado

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

*