Solução completa de serviço de correio baseado em software livre (Debian GNU/Linux)
Recompilação do artigo "Postfix-2 + domínios virtuais + MySQL + SASL + PostfixAdmin", de autoria do Sr. Marco A. S. Máximo. Nesse novo artigo os passos foram tomados levando em consideração os recursos do Debian e usando (sempre que possível) os pacotes dos repositórios oficiais.
Parte 7: Testes
Teste maildrop
Teste se o maildroP consegue enviar o email para a caixa postal do usuários:
# cat /etc/lilo.conf |maildrop -d fulano@dominio1.com.br
***** LOG DO MYSQL ******
031105 15:19:27 62 Connect maildrop@localhost on
62 Init DB postfix
62 Query SELECT username, uid, gid, home, maildir, quota FROM mailbox WHERE username = "fulano@dominio1.com.br" ""
62 Quit
*************************
# ls /var/spool/correio/dominio1.com.br/fulano/Maildir/new/
1068052088.M222683P4357V0000000000000302I00013C90_0.servername,S=621
Beleza, funcionou.
Teste postfix
Usuário LOCAL:
# echo "Funcionou..." | mail -s "TESTE do POSTFIX" usuario@local.com.br
********** LOG DO MYSQL **********
031111 14:23:52 170 Query select goto from alias where address = 'usuario@local.com.br'
170 Query select goto from alias where address = 'usuario'
170 Query select goto from alias where address = '@local.com.br'
*************************************
********* LOG DO POSTFIX ************
Nov 11 14:24:39 marco postfix/pickup[21819]: F285215721: uid=0 from=<root>
Nov 11 14:24:39 marco postfix/cleanup[21880]: F285215721: message-id=<20031111162439.F285215721@postfix.dominio.com.br>
Nov 11 14:24:39 marco postfix/nqmgr[21820]: F285215721: from=<root@local.com.br>, size=327, nrcpt=1 (queue active)
Nov 11 14:24:40 marco postfix/local[21884]: F285215721: to=<usuario@local.com.br>, orig_to=<usuario>, relay=local, delay=1, status=sent (maildir)
******************************************************
# ls /home/usuario/Maildir/new/
1068567812.V302I15701.usuario.local.com.br
Beleza, funcionou....
Usuário VIRTUAL:
# echo "Funcionou..." | mail -s "TESTE do POSTFIX" fulano@dominio1.com.br
***************** LOG DO MYSQL **************
031107 14:28:00 23 Connect postfix@localhost on postfix
23 Query select goto from alias where address = 'fulano@dominio1.com.br'
23 Query select goto from alias where address = '@dominio1.com.br'
24 Connect maildrop@localhost on
24 Init DB postfix
24 Query SELECT username, uid, gid, home, maildir, quota FROM mailbox WHERE username = "fulano@dominio1.com.br" ""
24 Quit
************************************************
**************** LOG DO POSTFIX ***************
Nov 7 14:28:00 teste postfix/pickup[20191]: 82EE0143AD: uid=0 from=<root>
Nov 7 14:28:00 teste postfix/cleanup[20226]: 82EE0143AD: message-id=<20031107162800.82EE0143AD@postfix.dominio.com.br>
Nov 7 14:28:00 teste postfix/nqmgr[20192]: 82EE0143AD: from=<root@local.com.br,.local.com.br>, size=817, nrcpt=1 (queue active)
Nov 7 14:28:00 teste postfix/pipe[20228]: 82EE0143AD: to=<fulano@dominio1.com.br>, relay=maildrop, delay=0, status=sent (dominio1.com.br)
************************************************
# ls /var/spool/correio/dominio1.com.br/fulano/Maildir/new/
1068222707.M754502P20250V0000000000000302I000135EA_0.teste,S=342
Opa, acho que foi:
# cat /postfix/dominio1.com.br/fulano/Maildir/new/
1068222707.M754502P20250V0000000000000302I000135EA_0.teste,S=342
-------------------------------------------------------------
Received: by postfix.dominio.com.br (Postfix, from userid 0)
id AE1ED143AD; Fri, 7 Nov 2003 14:31:47 -0200 (BRST)
To: fulano@dominio1.com.br
Subject: TESTE do POSTFIX
Message-Id: <20031107163147.AE1ED143AD@postfix.dominio.com.br>
Date: Fri, 7 Nov 2003 14:31:47 -0200 (BRST)
From: root@local.com.br,.local.com.br (root)
Funcionou...
-------------------------------------------------------------
É, foi!!!!! :-)
Teste de Autenticação do IMAP
# telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP ready. Copyright 1998-2004 Double Precision, Inc. See COPYING for distribution information.
0 login fulano@dominio1.com.br xxxxx
0 OK LOGIN Ok.
0 select inbox
* FLAGS (Draft Answered Flagged Deleted Seen Recent)
* OK [PERMANENTFLAGS (* Draft Answered Flagged Deleted Seen)] Limited
* 2 EXISTS
* 2 RECENT
* OK [UIDVALIDITY 1123702066] Ok
* OK [MYRIGHTS "acdilrsw"] ACL
0 OK [READ-WRITE] Ok
0 logout
* BYE Courier-IMAP server shutting down
0 OK LOGOUT completed
Connection closed by foreign host.
Beleza, funcionou!!!
Teste de Autenticação do POP3
# telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
+OK Hello there.
user fulano@dominio1.com.br
+OK Password required.
pass xxxxx
+OK logged in.
list
+OK POP3 clients that break here, they violate STD53.
1 965
2 441
.
quit
+OK Bye-bye.
Connection closed by foreign host.
Beleza, funcionou!!!
DICA: Em caso de erro de autenticação, sempre dê uma olhada nos logs do MySQL e veja se foi feito e como foi feito o SELECT do courier. Isso pode ser útil para identificar erros no arquivo de configuração do courier.
Um outro problema pode ser no MySQL, ou o serviço não esta funcionando, ou o usuário não tem permissão de acesso ao banco de dados. Inicialmente eu tive problemas de autenticação e eram apenas espaços após as configurações dentro do arquivo /etc/courier/authmysqlrc.
Configurações bem detalhadas... Com certeza vai facilitar a vida de muita gente.
Fica a sugestão para implementar um webmail...