Até aqui ja configuramos bastante coisa. Na parte 02, você aprendeu a configurar o servidor SMTP a autenticar-se com os usuários no MySQL. Agora vamos fazer a instalação do servidor POP3/IMAP e também aprender como adicionar os usuários para poderem receber e ler os e-mails.
Como este tutorial também ficou grande, para ler, clique no link a seguir.
Para conseguirmos terminar este tutorial, precisamos instalar os pacotes abaixo:
# aptitude install courier-authdaemon courier-authmysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl
1º Passo, configurando o servidor POP3/IMAP:
Vamos editar o arquivo /etc/courier/authdaemonrc e inserir na linha authmodulelist a diretiva authmysql, ficando assim:
authmodulelist="authmysql"
Vamos editar o arquivo /etc/courier/authmysqlrc e inserir as seguintes informações:
MYSQL_SERVER localhost MYSQL_USERNAME postfix MYSQL_PASSWORD senha-que-especificou-para-o-usuario-postfix MYSQL_PORT 0 MYSQL_DATABASE postfix MYSQL_USER_TABLE usuarios #MYSQL_CRYPT_PWFIELD (<strong>comente essa linha</strong>) MYSQL_CLEAR_PWFIELD senha MYSQL_UID_FIELD 8500 MYSQL_GID_FIELD 8500 MYSQL_LOGIN_FIELD email MYSQL_HOME_FIELD "/home/gmail" #MYSQL_NAME_FIELD (<strong>comente essa linha</strong>) MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/')
Pronto, nosso servidor POP3/IMAP ja está configurado.
Para testar se tudo está funcionando corretamente, faça uma conexão telnet com o pop3 executando o seguinte comando: telnet localhost pop3 (isso se você estiver na mesma máquina.
O resultado deverá ser o seguinte: +OK Hello there.
Caso a mensagem seja de falha, revise o tutorial e suas configurações.
Inserindo usuários/senhas e domínios adicionais no banco de dados
Inserindo os domínios virtuais adicionais
Como eu disse na parte 01 do tutorial, o domínio principal não precisa ser adicionado na tabela de domínios adicionais, no entanto, caso você queira gerenciar mais domínios, será necessários adicioná-los aqui, como também fazer o apontamento correto dos MX no domínio (isso só abordarei se acharem que é necessário).
Para inserir os domínios virtuais adicionais, digite o seguinte no seu console MySQL:
INSERT INTO `dominios` (`dominio`) VALUES ('dominiovirtualadicional.com.br');
Inserindo os usuários/senhas no banco de dados
Para inserir os usuários é simples também, basta digitar o seguinte no seu console MySQL:
Para o dominio principal:
INSERT INTO `usuarios` (`email`,`senha`) VALUES ('conta@dominio.com.br','senhadousuario');
Para os dominios virtuais adicionais:
INSERT INTO `usuarios` (`email`,`senha`) VALUES ('conta@dominiovirtualadicional.com.br','senhadousuario');
Fazendo redirecionamento de e-mails
Sim, você pode fazer redirecionamento de e-mails também!
Para isso digite no console MySQL o seguinte:
Para o domínio principal:
INSERT INTO `redirecionamentos` (`alias`,`destino`) VALUES ('redir@dominio.com.br','seuemail@email.com');
Para os domínios adicionais:
INSERT INTO `redirecionamentos` (`alias`,`destino`) VALUES ('redir@dominiovirtualadicional.com.br','seuemail@email.com');
Instalando e configurando o webmail
Para conseguirmos terminar este tutorial, precisamos instalar o pacote abaixo:
OBS: Para isso, você deverá ter o Apache instalado e configurado!
# aptitude install squirrelmailApós termos o Squirrel instalado vamos digitar o seguinte:
ln -s /etc/squirrelmail/apache.conf /etc/apache2/conf.d/squirrelmail.conf
Agora configure as opções básicas do Squirrel digitando o comando abaixo:
squirrelmail-configure
Pronto, você poderá acessar seu webmail pelo endereço: http://localhost/squirrelmail.
O usuário e senha será o que você criar pelo MySQL para acessar.
Comandos telnet a serem digitados para criar a mailbox inicial
Entre por telnet no seu servidor digitando:
telnet nomedoservidor 25Abaixo, veja na tabela a ordem das mensagens que apareceram e o que precisará ser digitado. Siga exatamente como está neste arquivo. Clique aqui para ver.
Após digitar o conteúdo da tabela acima diretamente por telnet, dê uma olhada no log do postfix e veja se o conteúdo é como o abaixo:
Jul 24 21:48:28 myserver postfix/smtpd[9119]: connect from nomedoservidor[127.0.0.1] Jul 24 21:48:48 myserver postfix/smtpd[9119]: F2C1B47BD: client=nomedoservidor[127.0.0.1] Jul 24 21:48:52 myserver postfix/cleanup[9144]: F2C1B47BD: message-id=<20040724194842.F2C1B47BD@nomedoservidor> Jul 24 21:48:52 myserver postfix/qmgr[9117]: F2C1B47BD: from=, size=313, nrcpt=1 (queue active) Jul 24 21:48:52 myserver postfix/virtual[9148]: F2C1B47BD: to=, relay=virtual, delay=10, status=sent (delivered to maildir)
Caso em “status” esteja como sent (status=sent (delivered to maildir)), o e-mail foi entregue corretamente. Então digite o comando find /home/gmail e a listagem de diretórios e arquivos deverá se parecer com esta:
/home/gmail/dominio.com.br /home/gmail/dominio.com.br/conta /home/gmail/dominio.com.br/conta/tmp /home/gmail/dominio.com.br/conta/cur /home/gmail/dominio.com.br/conta/new /home/gmail/dominio.com.br/conta/new/1114511715.V801I7400b.nomedoservidor
Apareceu tudo como escrevi? Então o diretório está criado! Agora o passo é configurar seu cliente para acessar a caixa de e-mail para receber e enviar os e-mails. O usuário neste caso é conta@dominio.com.br e a senha é senhadousuario.
As possibilidades com esse tutorial são ilimitadas. Você pode utilizar somente para acesso próprio, pode oferecer um webmail, pago ou grátis, para os seus amigos, visitantes e etc. O que você precisa é criar um formulário que faça a inserção dentro do banco de dados, assim, os visitantes ou você mesmo poderá cadastrar as contas sem ter de usar o console MySQL.
Então, chegamos ao fim deste tutorial. Espero que tenham gostado e que consigam configurar vários servidores de e-mail Postfix utilizando o MySQL onde pretenderem!
@Maggi
Experimente verificar nas tabelas do MySQL se o usuário está lá.
Se não estiver, adicione-o e tente novamente.
Caso esteja, a única coisa que posso sugerir é que siga os passos novamente.
Olá,
Primeiramente, queria lhe elogiar pelo tutorial, muito completo e muito bem feito.
Eu tenho algumas dúvidas, talvez você possa sana-las.
A primeira é : como posso usar um serviço como no-ip para o email funcionar,
A segunda é : não consigo fazer com que os usuários no bd logem,
A última é que não consigo receber emails.
Att
Olá Tiago,
Um visitante me avisou de um erro que tinha no smtpd.conf, onde o campo senha estava como password ao invés de senha, sugiro que altere no seu arquivo também e refaça o teste, ok? Talvez seja isso que esteja causando os problemas aí.
Quando a usar o no-ip para funcionar, não recomendo muito, mas basta configurar seu domínio no-ip no lugar do dominio que utilizaria normalmente. A máquina precisa ter conexão externa, ou ter as portas 110 e 25 redirecionadas para ela.
Boa sorte!
esse tutorial.. salvou minha pele.. rs… ótimo mesmo..
a única coisa que eu mudaria neste tutorial, serial a parte na qual vc colocou o ip do servidor como 127.0.0.1, no caso das pessoas que utilizam o mysql nestas ultimas versões que é necessário set o bind_address.. se ficar como 127.0.0.1 fica mais complicado.. mas nada que um simples ajustezinho naum c resolva…
pra mim funcionou perfeitamente…
Muito obrigado… seu tutorial é ótimo..
eu tambem colocaria neste tutorial falando que o próprio servidor cria as pastas do dominio e dos usuarios automaticamente, soh lembrando do detalha que se seu dominio principal for o setado como mydomain ele não vai funcionar, no meu caso eu o coloque como se fosse o dominio adicional na tabela do mysql e coloque como mydomain por ex. o dominio.net ou coisa do género para que tudo funcione 100%.. , como sou programador em php.. vou desenvolver uma ferramentinha simples para adicionar dominios e usuarios..
c vc quizer posso mandar pra vc colocar ai no site.. só para que as pessoas no qual esse tutorial ajudou, possam ter a vida mais facil ainda.
obrigado
Obrigado pelo comentário, Felipe.
Vou alterar o post em breve. Quanto à ferramenta será muito bem vinda, acho que os outros visitantes também irão gostar.
Abraços.