MTA Selor: Servidor de E-mails - Novo Projeto GPL

Como criar rapidamente, um servidor de E-mails para grande fluxo de mensagens e de fácil administração. Inclui: SMTP (MTA Selor), POP3/IMAP (Dovecot), base MySQL, WEBmail (Roundcube), quota de envio de mensagens e técnicas anti-Spam.

[ Hits: 18.362 ]

Por: Lucas Priori em 15/05/2014


Quota de envio de E-mails



Podemos controlar o número de E-mails que cada cliente envia por hora, dia, semana ou mês. Isto ajuda a proteger o seu servidor de clientes que tentam enviar Spam.

# cd /home/progs
# tar xjf selor_rquota_src_1.0.tar.bz2
# cd selor_rquota_1.0
# gcc selor_rquota.c -o selor_rquota -lmysqlclient


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 usuário 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@localhost identified by 'minhasenha';
mysql> flush privileges;
mysql> quit

Agora, vamos criar as tabelas no banco:

# mysql selor_rquota < selor_rquota.sql

Edite o arquivo selor_rquota.conf, deixando-o da seguinte forma:
Host=              localhost
Db=                selor_rquota
Table=             rquota
User=              selor
Pass=              minhasenha
User_field=       user
Sent_field=       sent
Quota_field=     quota
Quota_default=  1000

Obs.: lembre-se de colocar o usuário e senha que especificou no comando: grant all ...

Abra o arquivo referente ao evento Event.from (/usr/local/selor/rules_from) e acrescente o seguinte conteúdo no COMEÇO do arquivo:

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!

Abra o arquivo referente ao evento Event.data (/usr/local/selor/rules_data) e acrescente o seguinte conteúdo no arquivo. (Note que é 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"

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 mês. Tudo depende do intervalo em que você roda o selor_rquota com a opção -z, que ZERA os valores de e-mails enviados de todos.

Use o cron para fazer este serviço pra você.
Escolha umas das linhas do cron para a sua necessidade:

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

Está feito. Seu servidor está pronto!

Conclusão

Grande parte das opções e recursos do Selor e do Sceo, eu fiz devido a pedidos de quem os usou.

Se você tem ideias, técnicas, dúvidas ou sugestões, por favor, entre no fórum do Selor e pronuncie-se para contribuir com o projeto.

Obrigado a todos e à equipe do Viva o Linux.

Página anterior    

Páginas do artigo
   1. Apresentação e downloads
   2. Instalando o servidor SMTP
   3. Instalando o servidor POP3/IMAP
   4. Instalação do WEBmail
   5. Filtros anti-Spam
   6. Quota de envio de E-mails
Outros artigos deste autor

Dividindo carga de saída de servidor SMTP (MTA Selor)

Benchmark entre servidores de e-mails

Servidor de emails com Dovecot e MTA Sceo (projeto brasileiro)

Servidor de e-mail no Linux com MTA Sceo

Leitura recomendada

Zimbra 8.0 no CentOS 6.3

Importando e-mails do MS Outlook para o Evolution ou Kmail

Servidor de e-mail Postfix com Fetchmail, Procmail, Blockmail e antispam

Utilizando o pine com o fetchmail

Populando sua SpamTrap com e-mails relevantes

  
Comentários
[1] Comentário enviado por demoncyber em 15/05/2014 - 10:36h

Olá,

Desculpe a pergunta de alguém sendo preguiçoso XP .. Vi que têm uma versão para FreeBSD, você sabe se o programa compila com LLVM ou se você esta fazendo uso de chamadas ou algo específico que só funcione com GCC, ou algo que nem vale tentar a empreitada de tentar ajustar o programa para compilar com LLVM ?

Você é o pai da criança :) vai ser mais rápido e fácil de responder.

Pergunto isto, pois a partir do freebsd 10 o compilador padrão é o LLVM .... ( blah blah ), instalar mais um compilador ( blah blah )

No mais achei bem interessante o software, pena que ainda não está utilizando algum gerenciador de código fonte como SVN, ou GIT.

Assim que conseguir um tempo melhor, espero testar e contribuir.

Ressalto aqui parabenizando a iniciativa do projeto, parabéns.

Abraços

[2] Comentário enviado por jov em 15/05/2014 - 11:46h

Parabéns pela iniciativa!

[3] Comentário enviado por lpriori em 15/05/2014 - 19:32h

Boa noite Demoncyber,

Então, eu fiquei sabendo sim que o FreeBSD estava adotando este novo compilador, porém, te confesso que ainda não testei nele. O FreeBSD no qual eu compilei e fiz testes foi o 9.0. que ainda usa o GCC.

Além do GCC, você precisa do NASM ( Montador Assembly ) também. Mas este é padrão a muito tempo em tudo quanto é Linux e FreeBSD.

Vou puxar esta nova versão para ver como é o esquema e se precisar de adaptações, eu faço. Obrigado pela dica. Vi que você já se cadastrou no Forum.
Fique a vontade para fazer criticas, tirar dúvidas ou sugestões. Como falei, estou sempre escutando o que a moçada precisa para implantar.

Realmente não usei qualquer tipo de gerenciador de código. Vamos ver como será daqui pra frente.
Eu agora estou em uma fase divulgação e estou traduzindo o site para o ingles.

Obrigado !


[4] Comentário enviado por igor.ol13 em 25/01/2015 - 14:02h


Olá, boa tarde. Agradeço e parabenizo pelo projeto, é muito bom ver brasileiros cada vez mais criando novos projetos...

Aparentemente tudo funcionou perfeitamente, exceto uma coisa: não envia emails para servidores externos, o roundcube sempre dá a mensagem "Erro SMTP (550): Falha ao adicionar o destinatário
"email@yahoo.com" (Relay denied)."

O que eu posso fazer pra corrigir o problema?

[5] Comentário enviado por willian.firmino em 29/05/2015 - 16:01h

Este projeto ainda esta ativo ?

[6] Comentário enviado por mrbirth em 09/06/2015 - 09:07h


Olá Lucas, estou criando um novo servidor de email utilizando o Selor, parei na hora de testar o smtp no tel net aparece a seguinte msg: Trying ::1... Connected to localhost. Escape character is '^]'. 220 mail.etc.etc.etc ESMTP Exim 4.84... Não aparece erros nos logs, o que pode estar ocorrendo?? Obrigado!!!

[7] Comentário enviado por lpriori em 09/06/2015 - 12:29h


[6] Comentário enviado por mrbirth em 09/06/2015 - 09:07h


Olá Lucas, estou criando um novo servidor de email utilizando o Selor, parei na hora de testar o smtp no tel net aparece a seguinte msg: Trying ::1... Connected to localhost. Escape character is '^]'. 220 mail.etc.etc.etc ESMTP Exim 4.84... Não aparece erros nos logs, o que pode estar ocorrendo?? Obrigado!!!


Fala mrbirth,

O problema ai está ocorrendo porque o Exim está rodando ainda, o Selor nem ligou aí pois a porta 25 está sendo usada. Desative o Exim e ligue o Selor novamente

Abraço

[8] Comentário enviado por lpriori em 09/06/2015 - 12:35h


[5] Comentário enviado por willian.firmino em 29/05/2015 - 16:01h

Este projeto ainda esta ativo ?


Ola Willian.

Não entendi o motivo da pergunta, mas sim, esta ativo sim. É um projeto GPL

Abraço

[9] Comentário enviado por lpriori em 09/06/2015 - 12:43h


[4] Comentário enviado por igor.ol13 em 25/01/2015 - 14:02h


Olá, boa tarde. Agradeço e parabenizo pelo projeto, é muito bom ver brasileiros cada vez mais criando novos projetos...

Aparentemente tudo funcionou perfeitamente, exceto uma coisa: não envia emails para servidores externos, o roundcube sempre dá a mensagem "Erro SMTP (550): Falha ao adicionar o destinatário
"email@yahoo.com" (Relay denied)."

O que eu posso fazer pra corrigir o problema?


Desculpe a demora.

Mas o que ocorre ai é que você precisa ativar o Relay para as conexões para sua rede interna ou conexões autenticadas.

'Relay' na verdade é o ato do servidor de email repassar um email para fora quando um destinatário for externo.
Você deve dar relay APENAS para conexões autenticadas ou alguns IPs de sua rede interna ou ips confiáveis.

No selor.conf, você encontra a opção Auth_relay que deve estar setada para 1 e então o Selor vai dar Relay pra conexões autenticadas.

Mas me parece que no seu caso ai você esteja querendo dar Relay para sua rede interna.
No arquivo rules_connection, mande dar Relay para sua rede.

Digamos que sua rede interna ai seja: 10.10.10.0/24, coloque a seguinte linha no rules_connection:
Ip? "10.10.10.0/24" Relay!

Não é preciso reiniciar o Selor.

De uma olhada no help do site:
http://www.mtaselor.com.br/?conteudo=11#Relay

Abraço

[10] Comentário enviado por mrbirth em 10/06/2015 - 08:58h


Bom dia Lucas, legal rapaz conseguir acertar o smtp exatamente o exim4 estava ativo, muito obrigado!! Agora preciso acertar o dovecot no teste na 110 aparece a seguinte msg "-ERR Disconnected: Auth process broken", poderia me ajudar novamente? Obrigado mesmo!! Abs.

[11] Comentário enviado por lpriori em 10/06/2015 - 12:17h

Fala mrbirth,

Você deve ter pulado algum ponto do tutorial na parte do Dovecot, mas para descobrir o motivo, teria que olhar o /var/log/maillog que é onde o Dovecot anota mensagens de erros.

Se quiser, me mande por mensagem direta o que aparece no /var/log/maillog relacionado ao Dovecot ou se quiser, mesmo não sendo relacionado diretamente ao Selor, pode postar o erro la no Forum (http://www.mtaselor.com.br/forum)

Abraço

[12] Comentário enviado por mrbirth em 10/06/2015 - 14:34h


[11] Comentário enviado por lpriori em 10/06/2015 - 12:17h

Fala mrbirth,

Você deve ter pulado algum ponto do tutorial na parte do Dovecot, mas para descobrir o motivo, teria que olhar o /var/log/maillog que é onde o Dovecot anota mensagens de erros.

Se quiser, me mande por mensagem direta o que aparece no /var/log/maillog relacionado ao Dovecot ou se quiser, mesmo não sendo relacionado diretamente ao Selor, pode postar o erro la no Forum (http://www.mtaselor.com.br/forum)

Abraço


Obrigadão Lucas, olha o erro:
Jun 10 14:36:43 mail dovecot: auth: Fatal: sql /usr/local/etc/dovecot/dovecot-sql.conf: Error in configuration file /usr/local/etc/dovecot/dovecot-sql.conf line 1: Unknown setting: ver
Jun 10 14:36:43 mail dovecot: master: Error: service(auth): command startup failed, throttling for 4 secs
Jun 10 14:36:43 mail dovecot: pop3-login: Disconnected: Auth process broken (disconnected before auth was ready, waited 0 secs): user=<>, rip=::1, lip=::1, secured, session=<FhWCUS0YLQAAAAAAAAAAAAAAAAAAAAAB>

Achei o problema copiei o script errado, é muita correria sempre passa algo, ja corrigir, vou testar. Valeu novamente!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts