MTA Selor
		Tutorials => Tools => Topic started by: lucas on June 01, 2022, 09:56:44 PM
		
			
			- 
				Com o selor_rquota, podemos controlar o número de destinatários que nossos clientes podem enviar por hora/dia/semana/mes, etc...
 
 Através dos eventos do Selor, nós acionamos o selor_rquota com alguns parâmetros e o sistema de quota funcionará perfeitamente.
 
 Vamos ao passo-a-passo...
 
 Puxando e instalando a ferramenta no seu servidor:
 mkdir /home/progs
 cd /home/progs
 wget http://www.mtaselor.com.br/downloads/utilitarios/selor_rquota_src_1.0.tar.bz2
 tar xjf selor_rquota_src_1.0.tar.bz2
 cd selor_rquota_1.0
 
 Agora, vamos compila-lo.
 
 Se você estiver usando Linux:
 gcc selor_rquota.c -o selor_rquota -lmysqlclient
 Se você estiver usando FreeBSD:
 gcc selor_rquota.c -o selor_rquota -DFreeBSD -L/usr/local/lib/mysql -lmysqlclient
 
 Obs: Caso de algum erro a respeito da libmysql, é porque você precisa instalar a MySQL-devel no seu sistema ou então, as libs não estão sendo encontradas. As libs mysql (libmysql*) devem ficar em /usr/lib64 ou /usr/lib 
 Copie o programa, o arquivo de configuração e o arquivo .sql para o diretório do Selor:
 mkdir /usr/local/selor/uteis
 cp selor_rquota selor_rquota.conf selor_rquota.sql /usr/local/selor/uteis
 cd /usr/local/selor/uteis
 Crie a base de dados no seu MySQL com um usuario e uma senha.
 Vamos supor que o usuário seja 'selor_user' e a senha 'minhasenha':
 mysql
 mysql> create database selor_rquota;
 mysql> grant all privileges on selor_rquota.* to selor_user@localhost identified by 'minhasenha';
 mysql> flush privileges;
 mysql> quit
 Agora, vamos criar as tabelas no banco:
 mysql selor_rquota < selor_rquota.sql
 Arrume o arquivo de configuração selor_rquota.conf de forma a colocar corretamente os dados para a conexão com o MySQL
 
 Configure o selor_rquota nos eventos do Selor.
 Abra o arquivo referente ao evento Event.from (No padrão, o arquivo é o /usr/local/selor/rules_from)
 
 Obs: Verifique qual é o seu arquivo do Event.from, abrindo o selor.conf e procurando por esta opção. pico /usr/local/selor/rules_from
 Acrescente estas regras (Obs: Tudo em uma única linha):
 Auth? !From? "" Exec! "/usr/local/selor/uteis/selor_rquota --conf /usr/local/selor/uteis/selor_rquota.conf -c -u %f" Exec_resp? "1" Reply! "500 Limite de envio de emails foi excedido" Deny!
 A regra acima é a que testa se o remetente já atingiu a quota.
 
 A próxima regra nós adicionaremos no evento que é executado assim que o remetente entrega o email, então, nós adicionaremos a quantidade de destinatários da mensagem no banco de dados. O evento é o Event.data (Por padrão: /usr/local/selor/rules_data).
 
 Obs: Verifique qual é o seu arquivo do Event.data, abrindo o selor.conf e procurando por esta opção. 
 pico /usr/local/selor/rules_data
 Acrescente estas regras (Obs: Tudo em uma única linha):
 Auth? !From? "" Exec! "/usr/local/selor/uteis/selor_rquota --conf /usr/local/selor/uteis/selor_rquota.conf -a %n -u %f -d 1000"
 Obs: O valor 1000 é a quota padrão que o programa vai usar para cadastrar o remetente caso ele ainda não esteja cadastrado.
 
 Agora é hora de você decidir como quer a sua quota: por hora, dia, semana ou mes:
 
 Tudo depende do intervalo em que você roda o selor_rquota com a opção -z que ZERA os valores de emails enviados de todos.
 
 Podemos usar o CRON para fazer o serviço para nós:
 Caso queria...
 
 por hora:
 00 * * * * /usr/local/selor/uteis/selor_rquota -z
 por dia:
 00 0 * * * /usr/local/selor/uteis/selor_rquota -z
 por semana:
 00 0 * * 0 /usr/local/selor/uteis/selor_rquota -z
 por mês:
 00 0 1 * * /usr/local/selor/uteis/selor_rquota -z
 
 Esta feito ! Não é preciso reiniciar o Selor