Neste artigo aprenderemos a configurar um servidor de e-mail completo com Postfix, Courier-IMAP, MySQL, Amavis_new, antivírus McAfee Uvscan, antispam SpamAssassin, POP-BEFORE-SMTP, PostfixAdmin e SquirrelWebmail.
A instalação do Courier-IMAP é bem simples, só que ela não pode ser feita pelo root, pelo menos na fase de preparação dos binários não, vamos a instalação.
OBS: No Slackware eu tive que mudar as permissões do /dev/null, não sei se você vai enfrentar isso na sua distribuição, então faça um:
# chmod 777 /dev/null
Isso é só temporário, quando você reiniciar a máquina ele voltará com as configurações padrões.
Logue com um usuário comum, no meu caso eu usei o próprio Postfix:
# su postfix
Rode o script configure com as seguintes opções, lembrando que você pode dar uma lida no help do configure para maiores informações:
Se não deu nenhum erro, como root rode o make install
# make install
Pronto, agora vamos a configuração do courier-imap, se você percebeu eu fiz toda instalação usando o /usr/local como base, se você deseja alterar isso, fique a vontade, entre no diretório /usr/local/etc, la dentro você vai encontrar um arquivo chamado authmysqlrc.dist mude-o para authmysqlrc:
# cp authmysqlrc.dist authmysqlrc
Feito isso, edite esse arquivo e deixe-o dessa maneira:
MYSQL_SERVER localhost
MYSQL_USERNAME postfix
MYSQL_PASSWORD sua senha (senha que você colocou no script mysql)
MYSQL_SOCKET /var/run/mysql/mysql.sock
MYSQL_PORT 3306
MYSQL_OPT 0
MYSQL_DATABASE postfix
MYSQL_USER_TABLE mailbox
MYSQL_CRYPT_PWFIELD password
MYSQL_UID_FIELD uid
MYSQL_GID_FIELD gid
MYSQL_LOGIN_FIELD username
MYSQL_HOME_FIELD home
MYSQL_NAME_FIELD name
MYSQL_MAILDIR_FIELD maildir
MYSQL_QUOTA_FIELD quota
MYSQL_WHERE_CLAUSE active=1
Não vi necessidade de alterar alguma coisa nesses arquivos, mas se você necessita de alterações, fique a vontade para altera-los.
Os arquivos que tem ssl são daemons que usam criptografia, se você deseja usa-las rode o aplicativo que se encontra dentro de /usr/local/sbin/mkpop3dcert e /usr/local/sbin/mkimapdcert:
# cd /usr/local/sbin
# ./mkpop3dcert
# ./mkimpadcert
Feito tudo isso, vamos rodar os daemons respectivos, cada serviço tem um script para sua inicialização, estão todos dentro de /usr/local/libexec, você pode iniciar isso de várias maneiras, eu criei um script chamado rc.popimap incluindo todos os scripts necessários, mas você pode copiar esses scripts pra dentro do /etc/rc.d e colocar uma linha no rm.M para cada um, ou colocar o path completo no rc.M, no Red Hat você pode copiar os scripts pra dentro do /etc/rc.d/init.d e usar o ntsyv pra cuidar disso, no Debian a mesma coisa so usando o update-rc.d como já foi explicado antes, isso fica com você, vamos levantar os daemons pra ver se deu tudo certo agora. Rode-os assim:
Se existe algo parecido os daemons estão rodando, de um telnet na porta respectiva para teste, mas lembre-se, como não cadastramos ninguém nas tabelas do MYSQL, então não da pra testarmos a autenticação ainda.
# telnet localhost 110
Deve aparecer algo assim:
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Hello there.
# telnet localhost 143
Deve aparecer algo assim:
Trying 127.0.0.1...
Connected to localhost.
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.
Não podemos testar as portas do pop3d-ssl e nem imapd-ssl por quê necessitam de softwares especiais preparados pra trabalhar com criptografia.
Se tudo ocorreu bem, estamos com nosso Courier-IMAP funcionando corretamente, vamos continuar nossa instalação, faremos testes no final do documento pra saber se esta tudo funcionando corretamente.
[2] Comentário enviado por wconserta em 26/07/2004 - 20:35h
Nota 10 pelo artigo , e notei que vc mesmo tendo usado o shack procurou deixar o artigo de modo que todos possam usar independente de distro, vou procura estudar seu artigo mais o do Maximo para fazer meu server de e-mail
[4] Comentário enviado por gustavo_marcon em 27/07/2004 - 08:59h
Também achei ótimo o artigo, mas concordo que faltou falar + do SpamAssassin.... Estou precisando montar um "servidor de email remoto" para pegar emails de contas de servidores como Bol. BrTurbo, etc e passar um antispam do porte do Spam Assassin. Entrei no artigo só para ler a respeito dele, mas como falei ele está falho neste ponto. No mais o artigo está ótimo e veio complementar outros já existentes deixando assim nosso site ainda mais completo nesse aspecto.
Falow galera! Quem tiver dicas sobre Fetchmail + SpamAssassin porfavor me mandem!!!!!
[5] Comentário enviado por klinux em 27/07/2004 - 09:08h
Obrigado pelos comentários,
Vou atualizar o doc em breve, falando mais sobre spamassassin e greylist.
Obrigado mesmo :) é assim que a comunidade cresce :)
[10] Comentário enviado por klinux em 27/07/2004 - 17:51h
Caro guifreitas, realmente foi um descuido meu, olhe em http://200.96.158.74/postfix_tutorial.htm
la adicionei o que e necessário para funcionar, qualquer coisa entre em contato, obrigado.
alguem sabe oq ta pegando ... ele gera esse log de erro toda vez que eu restarto o postfix ...
e ele nao esta enviando emails ...
fica tudo amontoado ...
mailq mostra que nao foram enviados ...
[15] Comentário enviado por lamba0 em 09/12/2004 - 20:02h
esta me dando esse erro na hora do make install...
gcc -Wmissing-prototypes -Wformat -DHAS_MYSQL -I/usr/bin/mysql -g -O -I. -I../../include -DLINUX2 -c dict_mysql.c
dict_mysql.c:118: mysql.h: No such file or directory
make: *** [dict_mysql.o] Error 1
make: *** [update] Error 1
o mysql foi instalado com o apt-get do debian... saberia me dizer o que preciso mudar na hora do "make -f" ? pois coloquei /usr/bin e não deu certo...
Valew
[18] Comentário enviado por ximenes10 em 21/03/2005 - 11:37h
o meu esta dando o meso erro :
______________________________________
dict_mysql.c: At top level:
dict_mysql.c:730: error: parse error before '*' token
dict_mysql.c:731: warning: `plmysql_dealloc' was used with no prototype before its definition
dict_mysql.c: In function `plmysql_dealloc':
dict_mysql.c:734: error: `PLDB' undeclared (first use in this function)
make: *** [dict_mysql.o] Error 1
make: *** [update] Error 1
root@canoa:~/programas/postfix-2.2.1#
_______________________________________
Qual e o problema? Sou Slack 10.1
[19] Comentário enviado por tardego em 05/08/2006 - 06:33h
que erro é este? eu uso o conectiva 10
make -f Makefile.in MAKELEVEL= Makefiles
(echo "# Do not edit -- this file documents how Postfix was built for your machi
ne."; /bin/sh makedefs) >makedefs.tmp
No <db.h> include file found.
Install the appropriate db*-devel package first.
See the RELEASE_NOTES file for more information.
make: ** [Makefiles] Erro 1
make: ** [makefiles] Erro 2
[20] Comentário enviado por vinicius.almeida em 25/08/2006 - 10:29h
Tenho este servidor de email aqui na empresa como teste gostaria de colocar um bloqueio de anexos (exe,dll,bat) como faria isso, alguem poderia me passar um tutorial passo a passo..
[24] Comentário enviado por andrentfs em 05/05/2007 - 23:11h
Desenvolvi um script para configurar o servidor postfix e disponibilizei no meu site, só que faltam alguns ajustes, conto com a ajuda de todos, o script faz toda a instalação do servidor, só que faltam algumas coisas, preciso da colaboração de todos, meu site é www.andreluiz.eti.br/index.php, espero que me ajudem a concluir esta tarefa, desde já muito obrigado.
[25] Comentário enviado por gzanatta00 em 05/06/2007 - 08:13h
amigo estou com um problema q ja me atormenta
a muito tempo, meu servidor de e-mail envia e recebe
e-mails por um unico ip ex: 200.180....3,
que esta configurado dentro do bind ex:
pop3 IN A 200.180....3
smtp IN A 200.180....3
mail IN A 200.180.....3
E DENTRO DOs .cf que esta no diretorio
/etc/postfix, ..... entao eu pensei o seguinte
fazer com que o servidor enviasse e-mails pelo ip
200.180....4, e recebesse pelo ip 200.180...3
pq estou caindo quase todos os dias nas listas negras
e ja me cansei se ficar liberando e tal....
so que nao sei qual os arquivos q tenho q mudar...
ou se existe outra forma de acabar com isso
[26] Comentário enviado por linhocbj em 06/12/2007 - 16:22h
Ola pessoal.
Cara , seu artigo esta show.. fui fazendo direitinho, mas dai Parei no mesmo lugar que o amigo guifreitas ..
"""fatal: open dictionary: need "type:name" form instead of: "virtual"
No link que vc passou para elem, naum esta mais disponivel... alguem me ajude por favor.
[29] Comentário enviado por volcom em 21/02/2008 - 15:42h
Fala Klinux!!
Preciso fazer meu Postfix enviar as mensagens do Mailman...internamente tudo funciona, quando crio uma nova lista, envia mensagem administrativa tanto para o meu domínio quanto para outro domínio, mas quando eu envio mensagem para a lista, nenhum dos membros recebe, não aparece nada para os mederadores e não ocorre o envio.
[32] Comentário enviado por carlos domingues em 05/07/2012 - 17:24h
Ao enviar o Email de teste pelo console, deu erro 451 4.3.5 Server Configuration error.
Já verifiquei todas as minhas configurações e não consegui achar nada. Agradeço imensamente se alguem puder ajudar me.