Servidor de e-mail Postfix + MySQL + Dovecot + Cyrus

Nesse artigo aprenderemos a configurar rapidamente um servidor de e-mail com Postfix + MySQL + Dovecot + Cyrus usando RHEL 5.2.

[ Hits: 96.068 ]

Por: André Costa em 08/03/2010


Introdução



Bom pessoal, espero que esse artigo seja útil para alguém, serei claro e rápido na instalação e configuração, qualquer dúvida não medirei esforços para ajudá-los.

Para instalação do servidor de e-mail foi usado RHEL 5.2 (Red Hat Enterprise Linux), também poderá ser usado o CentOS 5.2.

Espero que gostem do meu primeiro artigo, comentários e críticas construtivas serão bem vindas para o melhoramento de futuros artigos.

Bom, vamos pôr a mão na massa.

Preparando o servidor

Antes de começarmos, certificar de que o servidor esteja preparado para a instalação.

Uma instalação simples será suficiente:

* Applications:
  • Editors
  • Text-based Internet

* Development:
  • Development Libraries
  • Development Tools
  • Legacy Software Development

* Base System:
  • Base
  • Legacy Software Support

O firewall e o SELinux deverão ser desabilitados na instalação.

Após a instalação ser realizada temos que desabilitar alguns serviços:

# chkconfig sendmail off
# chkconfig iptables off
# chkconfig ip6tables off


    Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação e configuração do DNS (Bind)
   3. Cyrus-sasl para SMTP AUTH, OpenSSL para TLS e MySQL
   4. Dovecot e MTA Postfix
   5. Configuração do SMTP-AUTH/TLS e MySQL
   6. Configuração do MTA Postfix
   7. Configuração do Dovecot, servidor POP3 e IMAP
   8. Subindo os serviços e testando o sistema
Outros artigos deste autor

Cluster MySQL - Instalação e configuração

Webmail Squirrelmail e Roundcubemail, Clamav e SpamAssassin integrados no MTA Postfix

Leitura recomendada

Sendmail sem complicações

Zimbra - Como rastrear um e-mail dentro do log

Populando sua SpamTrap com e-mails relevantes

RoundCubeMail - Praticidade e bom gosto

MailScanner - Email Gateway Virus Scanner

  
Comentários
[1] Comentário enviado por thiagosc em 08/03/2010 - 20:40h

Olá amigo muito bom o artigo!

Você já configurou o mesmo como um servidor de e-mail interno? Em uma rede baseada em windows 2003 server?

[2] Comentário enviado por andrecostall em 08/03/2010 - 21:00h

Obrigado thiagosc.
Sim, já configurei como um servidor interno, minha rede também é baseada em windows 2003 server, são 35 usuários pendurado em um unico servidor usando Terminal Service e funcionou perfeitamente.
Quaisquer duvida da um grito ai.
Abraços

[3] Comentário enviado por marcosantonioti em 03/05/2010 - 16:33h

André, vc esta de parabéns, o artigo ficou perfeito, com uma ótima distribuição que é o"CentOS" e uma linguagem de fácil entendimento. Precisamos de mais Administradores como vc, Obrigado!!!

[4] Comentário enviado por marcosantonioti em 29/09/2010 - 17:14h

André, é o Marcos colega seu que trabalhava na Consel em Brasilia, me add no meu novo msn e gtalk, [email protected], [email protected]

[5] Comentário enviado por tiagogchagas em 19/11/2010 - 18:10h

Amigos, estou tendo o seguinte problema ao compilar esses arquivos
/usr/bin/ld: cannot find -llber
collect2: ld returned 1 exit status
make: ** [master] Erro 1
make: ** [update] Erro 1

Se alguem poder me ajudar...preciso muito instalar o postfix..estou fazendo um trabalho sobre...

desde ja grato

[6] Comentário enviado por syokoyama em 29/11/2010 - 12:56h

A linha xxgdb $daemon_directory/$process_name $process_id & sleep 5 contém um erro.

Em primeiro lugar, a versão 5.5 não possui mais o xxgdb no extras. Mas isso pode ser resolvido baixando em:
ftp.forth.org e instalando manualmente.

Em segundo lugar, as duas linhas abaixo do debugger_command são referentes a ele. Portanto, devem ser colocadas como subcomandos, ou seja, iniciando as linhas com tabulação.

Ficariam semelhantes a:
debugger_command =
<TAB>PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
<TAB>xxgdb $daemon_directory/$process_name $process_id & sleep 5
disable_vrfy_command = no

Deve ser por causa do editor usado para inserção da matéria no site que deve coibir o uso de espaço e tabulação antes da linha.

O tutorial está muito bom. Parabéns.

[7] Comentário enviado por lpossamai em 02/12/2010 - 08:36h

Bom dia tiagogchagas
Conseguiste resolver o problema do "/usr/bin/ld: cannot find -llber"?

Obrigado.

[8] Comentário enviado por andrecostall em 02/12/2010 - 15:46h

Boa tarde tiagogchagas !!!

E ai cara conseguiu resolver o problema ?

Qualquer coisa me add ai no msn [email protected]

Abraço

[9] Comentário enviado por lpossamai em 04/12/2010 - 11:53h

Bom dia André..
Seu tutorial é muito bom !
está funcionando tudo perfeitamente.

Porém, tenho uma dúvida.
Se eu quiser que o [email protected] tenha limite de 20 MB na mailbox dele, e o [email protected] tenha 40 MB.
Como prodecer?

Obrigado

[10] Comentário enviado por andrecostall em 06/12/2010 - 15:56h

Boa tarde psyscrew !!!

Cara na tabela "mailbox" tem o campo "quota", para inserir 20MB o valor seria "20000000" e de 40MB "40000000".

mysql > update mailbox set quota = 20000000 where username = '[email protected]';

Abraços

[11] Comentário enviado por doomk em 03/04/2012 - 10:39h

Pra a galera que se deparou com o erro abaixo:


/usr/bin/ld: cannot find -llber
collect2: ld returned 1 exit status
make: ** [master] Erro 1
make: ** [update] Erro 1


É só instalar o pacote openldap-devel que resolve.

(yum install openldap-devel)


Abraço

[12] Comentário enviado por heathcliffz em 24/05/2012 - 08:43h

meu caro... como funciona a questão do domínio?
tenho uma rede baseada em win 2008 server e gostaria de ter um servidor de e-mail interno somente para algumas aplicações (como o ZABBIX) enviar e-mails de alerta...
eu terei que ter um domínio válido para configurar os MX ou posso definir qualquer um já que os e-mails serão enviados para o e-mail corporativo? (esse e-mail corporativo é hospedado por nós mesmos)

[13] Comentário enviado por andrecostall em 05/06/2012 - 16:51h

Boa tarde heathcliffz!

Cara desculpa a demora.

Então, vc pode configurar um domínio interno e apontar o MX dentro da sua rede, mas vc só vai poder enviar e-mails.

Se precisar de ajuda me add no MSN: [email protected] ou gtalk; [email protected]

Abs

[14] Comentário enviado por carlos domingues em 14/08/2012 - 10:37h

Bom dia André
Obrigado por nos ajudar, ótimo tutorial.
Consigo enviar emails, inclusive externo, porem, receber não consigo. Os emails que chegam não vai para o MAILBOX do dominio.
Ficam no spool e na caixa de entrada de emails /var/mail/"user" em texto. Sendo que deveria ficar em /var/vmail/"dominio"/"usuario".
Se eu cadastro os usuarios no banco de dados do mysql e não cadastro no sistema unix, ao enviar email dá como usuario desconhecido.

Tenho dominio cadastrado com internet e servidor DNS em funcionamento nesse servidor.

Estou te adcionando no MSN caso voce tenha disponibilidade para ajudar me nesse item que falta.

Obrigado.

[15] Comentário enviado por lucianonicola em 18/04/2013 - 11:44h

quando inicio o dovecot da o seguinte erro:

[[email protected] dovecot]# /etc/init.d/dovecot start
Starting Dovecot Imap: doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf: passdb is missing driver

o que pode ser?

[16] Comentário enviado por linus black em 06/05/2013 - 18:06h

amigo essa configuração pode ser aplcada na integra no debian?.

[17] Comentário enviado por linus black em 06/05/2013 - 18:10h

o dns que vc usou no arquivo /var/named/chroot/etc/named.conf
é da sua rede ou dns free ou de um servidor como velox

[18] Comentário enviado por andrecostall em 06/05/2013 - 22:26h

Fala linus black, boa noite!

Sim, esta configuração pode ser aplicada em qualquer versão do linux.

Essa configuração de dns é da minha própria rede.

Abraço!

[19] Comentário enviado por andrecostall em 06/05/2013 - 22:29h

Fala lucianonicola, boa noite!

Cara desculpe a demora para responder, faz muito tempo que não passo por aqui!

Fique atento nas chaves "{}", pode ser isso!

Qualquer dúvida posta ai!

Abraço!


Contribuir com comentário