Documentação do Sceo_rquota

• Para que serve ?

Este programa serve para controlar o número de emails ou destinatários que seus clientes emitem por dia, semana ou mês.
É possível realizar este controle através de domínio, usuário e remetentes.


• Instalação

Primeiro você deve fazer o download da ferramenta sceo_rquota na sessão 'Ferramentas'
Crie um banco de dados de nome sceo_rquota no Mysql fazendo um dump do arquivo sceo_rquota.sql que acompanha o pacote para dentro do banco de dados criado.
Abra o arquivo fonte sceo_rquota.c e altere as linhas:
#define USUARIO "sceo"
#define SENHA "senhamudar"
Substituindo pelo usuário e senha que usou na criação do banco de dados sceo_rquota


Compile o programa:
> gcc sceo_rquota.c -o sceo_rquota -lmysqlclient

Copie o binário gerado para um diretório que esteja no PATH (Ex: /usr/bin)
> cp sceo_rquota /usr/bin

Esta ferramenta deve ser rodada em duas etapas:
1 - Sempre que o cliente conectado especifica um destinatário, é preciso apenas checar se ele já passou ou não de sua quota de destinatários. Se passou, ele deve receber um aviso e o relay deve ser negado.
2 - Após o recebimento do corpo do email, é preciso atualizar o banco de dados com o novo número de destinatários enviados pelo cliente.

Lembre-se que a forma que usamos aqui faz com que o número de destinatários enviados pelo cliente seja atualizado no banco de dados apenas depois que o corpo completo do email foi recebido.

Passo 1:
Abra o arquivo de regras que é processado sempre que um destinatário é passado (arquivo apontado pela opção Rcpt_rules de seu servidor):
> pico /usr/local/sceo/regras_destinatario

Acrescente a seguinte linha logo no início do arquivo:
Auth? !From? "" Exec! "/usr/bin/sceo_rquota -c -u %f" Exec_resp? "1" Reply! "500 Limite de envio de emails foi excedido" Deny!

Salve e feche o arquivo
Na regra acima, dissemos ao servidor Sceo para rodar o programa sceo_rquota apenas para clientes autenticados cujo endereço de remetente não seja nulo (avisos de recebimentos)
Caso o sceo_rquota retorne o valor 1, o servidor negará o atual destinatário.


Passo 2:
Abra o arquivo de regras que é processado sempre que o corpo de email é recebido (arquivo apontado pela opção Data_rules de seu servidor):
> pico /usr/local/sceo/regras_data

Acrescente a seguinte linha logo no início do arquivo:
Auth? !From? "" Exec! "/usr/bin/sceo_rquota -a %n -u %f -d 1000"


Salve e feche o arquivo
Na regra acima, dissemos ao servidor Sceo rodar o programa sceo_rquota para atualizar o registro do cliente no banco de dados, acrescentando o número de destinatários enviados e caso o cliente ainda não exista seu registro será criado com a quota de 1000 destinatários por dia, semana ou mês. Sinta-se a vontade para alterar este valor da forma que quiser

Agende seu cron para rodar o sceo_rquota de forma a zerar o número de destinatários enviados de cada cliente
Você pode agendar o cron uma vez ao dia, semana, mês ou da forma que quiser.

Exemplos de configurações no Cron.
Por dia:
00 0 * * * /usr/bin/sceo_rquota -z

Por semana:
00 0 * * 0 /usr/bin/sceo_rquota -z

Por mês:
00 0 1 * * /usr/bin/sceo_rquota -z


É possível também zerar apenas o número de destinatários de um usuário ou domínio:
> sceo_rquota -z -u fulano@meudominio.com.br
> sceo_rquota -z -u meudominio.com.br

É possível manter ao mesmo tempo, um controle de quota por domínio, basta você acrescentar as seguintes linhas nos arquivos apontados por Rcpt_rules e Data_rules.

Rcpt_rules:
Auth? !From? "" Exec! "/usr/bin/sceo_rquota -c -u %o" Exec_resp? "1" Reply! "500 Limite de emails de seu dominio foi excedido" Deny!

Rcpt_data:
Auth? !From? "" Exec! "/usr/bin/sceo_rquota -a %n -u %o -d 2500"

No exemplo acima, limitamos o envio a 2500 destinatários por dia, semana ou mes para cada domínio.

Lembre-se que o controle não é exato, se por acaso o cliente já completou um total de 2499 destinatários e na atual conexão ele especifica mais 50 destinatários, esse email não será recusado pois a atualização no banco de dados só é feita após o email ser aceito por completo (no Data_rules).






· MTA Sceo - Brasil - Hospedaria Internet ·