Linux slogan
Visite também: BR-Linux.org · Dicas-L · NoticiasLinux · SoftwareLivre.org · UnderLinux · BestLinux
» Screenshot
Linux: Centro de Controle SQUID - Nova Versao
Por asilva



» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha

» Wallpaper
Linux: Tux Music 2
Por pink


Artigo

Servidor de email com SMTP, POP, IMAP, quota e MySQL
Linux user
msmaximo
05/09/2003
Este artigo mostra passo-a-passo um método de instalação de um servidor de e-mail com suporte a SMTP, POP, IMAP, quota e armazenamento e controle de contas em MySQL. Veja como é possível obter um servidor de e-mail para domínios virtuais, utilizando Postfix, Courier IMAP, MYSQL e SASL.

Por: Marco A. S. Máximo
[ Hits: 262084 ]
Conceito: 8.1   Linux conceitoLinux conceitoLinux conceitoLinux conceitoLinux conceito + quero dar nota ao artigo

Introdução

Nesse tutorial vou mostrar como configurar um servidor de email Postfix para trabalhar com MySQL + COURIER-IMAP + SASL + DOMÍNIOS VIRTUAIS + QUOTA. Não sou nenhum expert em nenhum desses programas, sou apenas um cara esforçado :-), mas o fato de estar trabalhando diariamente com eles, fez com que eu adquirisse uma certa experiência. Esse tutorial é uma compilação de vários tutoriais, dicas, manuais e muita dor de cabeça que fui adquirindo até montar esse ambiente.

O meu problema começou quando me chamaram para trabalhar com servidores de email que suportasse vários domínios na mesma máquina, onde cada domínio representava uma empresa distinta, até ai eu sabia que o Postfix tinha esse tipo de suporte. Optei pelo Postfix devido a sua facilidade (experiências anteriores com Qmail :-) e compatibilidade com o "Sendmail". Seguindo os manuais, consegui criar essa ambiente para 2 domínios e outros que aparecessem.

Os meus problemas começaram quando, por exemplo, um diretor do dominio1 de nome José da Silva queria que o seu login fosse jose.silva, até aí tudo bem. Só que um outro diretor do dominio2, também de nome José da Silva queria que o seu login também fosse jose.silva. Ferrou!!! Pois eu não poderia criar dois logins iguais e nem dava para explicar que esse login já tinha sido reservado para o diretor de uma outra empresa. Olha a encrenca!!!

Pedi ajuda nas listas de discussão e me sugeriram usar MySQL ou um indicador no login; criando depois um alias para esse login. Bem, como eu não conhecia patavinas de MySQL, optei pela segunda dica :-). Então criei o jose.silva-dm2 e uma alias (jose.silva@dominio2.com.br = jose.silva-dm2). Perfeito, resolveu o problema, só que tinha de explicar para todo mundo por que o seu login tinha esse "-dm2" e o seu email, não. Sem falar nos relatórios de logs que não ficaram nada bonitos.

O negócio começou a ficar feio, quando fechamos com um cliente que o seu webmail mostrava o login da pessoa que estava logado no momento e lá estava o "-dm*".

Os meus problemas seriam resolvidos se eu pudesse criar o login já com o domínio, exemplo: jose.silva@dominio1.com.br. E não é que da!! O Linux aceita. Só que quando esse usuário envia uma mensagem pelo Postfix, o seu email sai como "jose.silva@dominio1.com.br@dominio1.com.br", bem! Não preciso dizer mais nada :-)

Alguns dias antes de pedir as contas da empresa :-), resolvi pesquisar sobre o Postfix com MySQL e o que lhes apresento agora, é o resultado da minha pesquisa. Há! Ainda continuo na empresa :-)

Navegação

Outros artigos deste autor

Leitura recomendada

Comentários
Comentário enviado por fabio em 05/09/2003 - 09:38h:

Muito bom este artigo! Na minha opinião a adoção de servidores de e-mail com contas de usuários armazenados em MySQL é essencial para empresas de médio a grande porte.

Com usuários em banco de dados você passa a oferecer uma fácil integração com sistemas de gestão, perde o limite de 65 mil usuários do sistema operacional, tem maior organização no servidor, etc.

Legal mesmo! No meu caso uso Exim com MySQL, mas o Postfix também é muito bem falado.

Comentário enviado por _simmons_ em 05/09/2003 - 12:06h:

Parabéns Rômulo, excelente artigo.

Comentário enviado por dinho_rock em 06/09/2003 - 11:25h:

Parabéns Romulo.

A muito tempo estava querendo saber como fazia algo parecido. Os e-mails eu estava criando tudo como email-dominio, e ele o cliente tinha que escrever isso na conta pop, que era uma chateação.
Parabéns pelo artigo, agora vou ver se tiro algum dia para transformar os e-mails da minha empresa para assim.

Thiago

Comentário enviado por danielgianni em 06/09/2003 - 20:39h:

Fabio, você podia escrever ADICIONAR ao artigo do _m0dpr0b3_ o uso com o Exim. Por exemplo no meu caso não vou precisar do IMAP com fazer então?

Comentário enviado por fabio em 06/09/2003 - 20:45h:

Daniel, o IMAP não depende do servidor MTA e sim do servidor POP. Se você optar por Courier IMAP ele não vai nem querer saber qual MTA você está utilizando, seja Postfix, Sendmail, Exim e sim onde estão as mensagens dos usuários e quais os campos de autenticação na tabela, coisas que já estão bem explicadas por aqui :)

Comentário enviado por agerum em 08/09/2003 - 16:55h:

Romulo que vergonha, voce copiou o artigo do marco.maximo@pwo.com.br e colocou como se fosse seu ???????

E o pior de tudo e que nem copiou direito pois está incompleto o tutorial...


Comentário enviado por msmaximo em 08/09/2003 - 17:21h:


************ FALTA DE ÉTICA *******************

Esse tutorial NÃO PERTENCE ao senhor Rômulo Banhe

Fui alertado por uma amigo, sobre o ocorrido o que me deixou muito desapontado com o comportamento de alguns membros da comunidade.
Não tenho nada contra, que esse tutorial circule pela internet. Pois o meu intuito, foi que ele alcança-se as pessoas que pudessem a vir tirar algum benefício dele.
O que não contava, era que pessoas SEM escrúpulo, o tomassem como seu não levando em consideração o trabalho do autor original.

É ainda PIOR, o fato de não estar completo. Sendo que o Senhor Rômulo Banhe não teve nem a capacidade de copia-lo.

Mas caso queiram ver o tutorial completo, acessem:

http://www.underlinux.com.br/modules.php?name=Sections&op=viewarticle&artid=174

Atenciosamente,
Marco A. S. Máximo
marco.maximo@pwo.com.br

Comentário enviado por fabio em 09/09/2003 - 10:19h:

Olá Marco,

Infelizmente em alguns casos não tenho como perceber que um artigo é de terceiros e só descobrimos quando o autor original se identifica, como é o seu caso.

No mês passado escrevi um documento chamado "Edital de política de contribuição de artigos", que pode ser acessado a partir de:
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=332

Logo, nos desculpamos pelo transtorno e gostaríamos de saber o que você prefere:
1. que o artigo seja removido de nosso banco de dados?
2. que o artigo permaneça, porém com os devidos direitos autorais dedicados à você?

[]'s,
Fábio

Comentário enviado por msmaximo em 09/09/2003 - 13:40h:

Olá Fabio,
li seu artigo e sei que você não possui nenhuma culpa...
Como eu havia comentado, eu tenho interesse que todos possam tirar algum proveito do meu tutorial, desde que, permaneçam os direitos autorais.
Respondendo a sua pergunta. Eu opto pela a segunda alternativa, e sugiro que seja completado a parte que falta usando o conteúdo do link que forneci.
Também informo para aos interessados, que estou em fase de teste para uma atualização desse tutorial, acrescentando algumas novas funcionalidades.
Só que dessa vez, espero que seja eu, que possa enviar o tutorial ao site :-)

Atenciosamente,
Marco A. S. Máximo
marco.maximo@pwo.com.br

Comentário enviado por fabrizmat em 21/06/2004 - 08:52h:

Muito bom. vai ser de grande ajuda na empresa

Comentário enviado por Outsider_ em 15/08/2004 - 01:10h:

Muito bom artigo ajuda um monte e realmente funciona ;P

Comentário enviado por morto em 30/08/2004 - 15:47h:

Legal esse artigo, ele é muito util e responde algumas dúvidas!

Comentário enviado por ezdn em 19/09/2004 - 15:10h:

òtimo artigo eu preciso faze algo semelhante e este artigo é uma mao
na roda vai me ajudar muito
vlw msmaximo eu adorei este teu artigo vai me ajudar bastate té mais .

Comentário enviado por sasse em 15/12/2004 - 16:28h:

Esou com problemas para instalar o postfix !

toda vez que vou fazer a instalação no meu red-hat 9 da a seguinte mensagem ::

(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile

por favor ajude-me.

Comentário enviado por augustowebd em 31/01/2005 - 10:14h:

admira-me uma pessoa publicar um artigo sobre configuracao de uma ferramenta, sem saber os tipos basicos da ferramenta.

Por que
-> nome char(255) default NULL ?
ao inves de
-> nome varchar(255) default NULL ?

Comentário enviado por marcoclamor em 31/01/2005 - 18:58h:

cara... nao consegui passar da parte de instalar o POSTFIX.. como faco pra instalar esse
sasl-devel
db*-devel
ed

?????????
obrigado

Comentário enviado por jgama em 05/02/2005 - 00:05h:

Caro augustowebd, não entendi sua pergunta, o que pode está errado?

Por que
-> nome char(255) default NULL ?
ao inves de
-> nome varchar(255) default NULL ?

Estou perguntando porque estou usando este tutorial e o script mail.db, como sou leigo no assunto quem ficou com dúvida fui eu.

Abraço

Comentário enviado por randra em 05/05/2005 - 17:59h:

OTIMO TRABALHO ...
parabens!!!


Rafael Andrade

Comentário enviado por hgdanilo em 09/05/2005 - 18:31h:

Olá,

Eu estou precisando de uma ajuda sua, eu estou tentando instalar em casa o Postfix com o Courier-imap, tenho instalado o conectiva 9, mas quando eu passo o comando ./configure para iniciar a instalação do Courier ele dá a mensagem de erro abaixo:


configure: WARNING: === Courier authentication library not found.
configure: WARNING: === You need to download and install
configure: WARNING: === http://www.courier-mta.org/download.php#authlib first.
configure: WARNING: === If courier-authlib is installed in a non-default
configure: WARNING: === directory, set the COURIERAUTHCONFIG environment
configure: WARNING: === variable to the full path to the courierauthconfig
configure: WARNING: === binary and rerun this configure script.
configure: WARNING:
configure: error: courierauthconfig not found


Você sabe como eu devo fazer para instalar esse authlib?


Abraço

Comentário enviado por gatoseco em 05/01/2006 - 20:17h:

Gostaria de saber se alguem conseguiu fazer funcionar o vacation seguindo exatamente os passos propostos no artigo ???

Ou tem mais algum macete escondido !!!

Abraçao a todos

Comentário enviado por fernandoamador em 23/02/2006 - 13:53h:

Ótimo artigo...

Comentário enviado por buzaneli em 02/03/2006 - 16:28h:

como compilar o postfix+mysql no conectiva linux 10

Comentário enviado por juliopimentel em 16/03/2006 - 20:24h:

Acompanhei o ocorrido e achei lamentavél o ato praticado pelo Sr. Rômulo, quero deixar aqui o meu repúdio a este tipo de ato.
Quanto a dúvida do Sr. Buzaneli quero informar que em breve estarei postando aqui uma pequena modificação do tutorial do Marco Maximo, voltado exatamento para o Conectiva Linux 10. Com os devidos créditos ao autor do tutorial é claro, que por sinal foi competentissimo na sua criação.
Obrigado Marco !!! Seu tutorial me foi muito util!

Comentário enviado por randra em 17/03/2006 - 09:11h:

ótimo artigo ... meus parabens... explicando diversos passos na configuração...


"cool"

Comentário enviado por penrral em 13/04/2006 - 00:47h:

Ola.. uma pequena dica pra os usuarios do OpenBSD.. o Courier-IMAP contém algumas pequenas diferença, deste localização dos arquivos a maneira como ele deve ser inicializado.
Para os interessados de uma olhada neste link
http://dantams.sdf-eu.org/guides/obsd_courier_imap.html

Valew.. ;)

Comentário enviado por Tyreon em 11/07/2006 - 19:28h:

Vlw!! Me ajudou mto!!

Comentário enviado por tardego em 04/08/2006 - 23:04h:

Olá estou tentando com o conectiva 10 mais não vai no courier-imap

da um erro com coloco o ./configure --without-ipv6 --enable-workarounds-for-imap-client-bugs

checking for gcc... no
checking for cc... no
checking for cc... no
checking for cl... no
configure: error: no acceptable C compiler found in $PATH

Comentário enviado por tardego em 04/08/2006 - 23:05h:

quando eu coloco
./configure --without-ipv6 --enable-workarounds-for-imap-client-bugs

dá um erro


checking for gcc... no
checking for cc... no
checking for cc... no
checking for cl... no
configure: error: no acceptable C compiler found in $PATH

Comentário enviado por andrentfs em 24/08/2006 - 14:36h:

Parabéns, seu artigo ficou excelente!

Comentário enviado por snails em 24/08/2006 - 20:02h:

Kra...to lendo, relendo e reelendo esse tuto.....
Primeiramente...td bem q num eh legal fazer plagio de uma coisa alheia e sai pela net falando que é sua...mas mew...o proprio autor falo q a itensao do tuto foi passada pelo Romulo, que é o conhecimento d uma pessoa para otra....intam, o erro aki foi num ter falado q o tuto original era d FULANO....mas msm assim...sendo d um ou otro ta muito bom.....

Agora o seguinte....tava vendo as regras no BD, e as configurações no Postfix....e uma coisa que num entendi...pode ser bestera, como tbm pode num ser.....na Quota de disco, determinada no BD é de 10 Mb, e no arquivo main.cf tbm....mas e se eu tiver uma conta no meu servidor que tenha de ter 20 MB ???????
Ou se ao inves de um dominio só, eu tiver uns 50 dominios e todos com quotas de virtualbox diferentes ??????

Bom, fica aew a ideia, ou ate mesmo um ponto para atualizar esse tuto...como montar o mesmo servidor, mas para varios dominios...que acho que num foi focado essa ideia....

Vlw aew e ate a proxima...

Comentário enviado por balani em 28/09/2006 - 15:47h:

Artigo muito bom, parabens

Comentário enviado por rafaelniken em 03/11/2006 - 11:27h:

posso aplicar esse tutoria no slack 10.2 ou preciso de mais coisa

Comentário enviado por rafaelniken em 03/11/2006 - 11:28h:

?

Comentário enviado por buzaneli em 23/11/2006 - 17:04h:

olá eu fiz tudo certo no debian, mas eu não estou conseguindo comfigurar o vacation no postfixadmin

Comentário enviado por rodrigoncar em 26/12/2006 - 13:14h:

e ae pessoal...
Preciso retirar a configuração no servidor pop, para q ele não verifique a criptografia da senha (ou seja texto puro), pois instalei um slack e nele o sasl não aceita a criptografia, deixando como texto puro a msg sai, mas não recebe pois o pop está configurado para a criptografia...
Alguém pode me ajudar????
Abraços
Rodrigo N Carneiro

Comentário enviado por psantos02 em 20/01/2007 - 22:33h:

AJUDA....

Tenho instalado o Postfix e a funcionar, instalei agora o courier-imap e pop3.
Faço telnet à porta 25 dentro do SUSE 10.1 e fora (winxp) e não faço telnet às portas 110 e 143. Executando o netstat -lt todas estas portas estão à escuta.
o telnet funciona tanto por ip como por nome.
O que poderá estar a faltar?

Obrigado pela ajuda.

Comentário enviado por psantos02 em 20/01/2007 - 22:35h:

CONTINUAÇÂO...

Não faço o telnet às portas 110 e 143 fora do SUSE, dentro também funciona.

Comentário enviado por fernandocesario em 07/02/2007 - 19:57h:

Ajuda,
Estou usando o artigo do colega para a instalacao Servidor de email com SMTP, POP, IMAP, quota e MySQL no conectiva 10 e quando dou o comando ./configure --without-ipv6 --enable-workarounds-for-imap-client-bugs ele me devolve o seguinte erro:

beta [/usr/local/src/courier-imap-4.1.2] > ./configure --without-ipv6 --enable-workarounds-for-imap-client-bugs
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... configure: error: C compiler cannot create executables

como posso resolver isso?

Comentário enviado por kidoidera em 09/03/2007 - 14:02h:

Este artigo resolveu todos meus problemas. ....... excelente ... parabens e vlw pela ajuda

Comentário enviado por ifc0nfig em 04/04/2007 - 09:02h:

Este artigo tá blz segui ele diretinho e funcionou blz, agora seguinte tem como eu cadastrar outro dominio nele. Por exemplo: quero que o dominiovelho.com.br fique na mesma maquina do dominionovo.com.br que já está cadastrado no server, e que todos os e-mails de todos os usuarios do dominiovelho.com.br envia para suas contas respectivas no dominionovo.com.br e que a saida de e-mail fosse com o user@dominionovo.com.br.

Se alguem entendeu por favor me ajude

Fabiano

Comentário enviado por fingys em 17/06/2007 - 14:35h:

ALGUEM PERCEBE DO PRORAT ?

QUEM SOUBER QUE ME ADD : paiva_x@hotmail.com

Comentário enviado por celodacruz em 26/06/2007 - 13:37h:

mtu bom o tuto...

tirei mts duvidas para meu server... vlw

Comentário enviado por safadonisjr em 03/09/2008 - 11:39h:

Olá estou gostando muito do tutorial, esta sendo de grande ajuda para um leigo como eu em linux, porem quando eu digito qualquer comando depois de selecionar o banco de dados, meu terminal fika assim:

mysql>CREATE TABLE aliases ( alias varchar(255) NOT NULL default, rcpt varchar(255) default NULL, PRIMARY KEY (alias)) TYPE=MyISAM;
->

e não sai desse " -> " até que eu de um comando inválido, todos os comandos tipo "show tables" ele tbm faz isso, alguem sabe me dizer oque está acontecendo ???


Contribuir com comentário
  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Contribuir com: [ Artigo | Conf | Dica | Pergunta | Script | Screenshot | Simulado | Wallpaper ]
Responsável pelo site: Fábio Berbert de Paula - Copyleft© 2002-2008 Viva o Linux.com.br

Viva o Linux

A maior comunidade Linux do Brasil! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.