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.
Deixei para o final todos os testes, você deve ter criado um domínio e uma conta de email no postfixadmin, caso não criou vou colocar aqui como criar no mysql mesmo, para podermos testar todo o sistema.
Digite o comando abaixo para entrar no mysql acessando a base de dados POSTFIX:
# mysql -D postfix -p
Enter Password:
Estamos no console do mysql vamos usar a seguinte sintaxe para criamos os domínios e os emails, vale lembrar que fazer isso pelo postfixadmin é muito mais fácil.
mysql> INSERT INTO alias (address, goto, domain, created, modfied, active) VALUES ('teste@teste.com.br', 'teste@teste.com.br', 'teste.com.br', NOW(), NOW(), '1');
Agora iremos criar o usuário:
NOTA: Por padrão o postfixadmin cria todos os usuários seguidos do domínio, para poder diferenciar usuários, quando montei esse ambiente na provedora o pessoal queria que usuários da provedora não precisasse digitar o email completo para logar no webmail, então tive que fazer algumas alterações no código do postfixadmin, caso você queira esse código me mande um email.
Estamos criando um usuário com seu home em /var/server/postfix/teste.com.br/teste/Maildir quota de 20MB (20000000) e sua conta esta ativa 1.
Vamos testar todos os daemons, se ainda não estão rodando levante-os agora:
Nota: Estes exemplos são para o Slackware.
O postfix já tem o script pronto, você pode rodá-lo de qualquer ponto do sistema.
Vamos testar o amavis:
# telnet localhost 10024
Deve aparecer algo assim:
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 [127.0.0.1] ESMTP amavisd-new service ready
# telnet localhost 10025
Deve aparecer algo assim:
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 ESMTP SUA EMPRESA
Vamos testar o postfix:
# telnet localhost 25
Deve aparecer algo parecido:
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 ESMTP SUA EMPRESA
Isso indica que o postfix esta rodando perfeitamente, caso não funcione de uma olhada nos logs de emails, /var/log/maillog, veja qual foi o erro que apareceu.
Tente mandar um email para o usuário teste@teste.com.br:
220 ESMTP SUA EMPRESA helo teste
mail from: teste@teste.com.br
rcpt to: teste@teste.com.br
data
354 End data with <CR><LF>.<CR><LF> Digite aqui seu texto.
. // ponto para terminar
250 Ok: queued as 92F2214812C // Esse número e aleatório deve aparecer outro.
Vamos ver se o email chegou:
# cd /var/server/postfix/teste.com.br/teste/Maildir/new
# cat 92F2214812C.V801I23ccd8.server,S=1023
Return-Path: <teste@teste.com.br>
X-Original-To: teste@teste.com.br
Delivered-To: teste@teste.com.br
Received: from localhost (localhost [127.0.0.1])
by server.teste.com.br (Postfix) with ESMTP id 92F2214812C
for <teste@teste.com.br>; Mon, 17 May 2004 17:40:30 -0300 (BRT)
Received: from server.teste.com.br ([127.0.0.1])
by localhost (server.teste.com.br [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id 04649-08 for <teste@teste.com.br>;
Mon, 17 May 2004 17:40:29 -0300 (BRT)
Received: from teste (localhost [127.0.0.1])
by server.teste.com.br (Postfix) with SMTP id 6FC17147BC0
for <teste@teste.com.br>; Mon, 17 May 2004 17:39:39 -0300 (BRT)
Message-Id: <20040517203939.6FC17147BC0@server.teste.com.br>
Date: Mon, 17 May 2004 17:39:39 -0300 (BRT)
From: teste@teste.com.br
To: undisclosed-recipients: ;
X-Virus-Scanned: by amavisd-new at teste.com.br
X-Spam-Status: No, hits=3.5 tagged_above=3.0 required=6.3 tests=BAYES_44,
MSGID_FROM_MTA_SHORT, NO_REAL_NAME
X-Spam-Level: ***
Digite aqui seu texto.
Beleza nosso postfix está funcionando 100%.
Agora vamos testar o POP3:
# telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Hello there. user teste@teste.com.br
+OK Password required. Pass 123
+OK logged in. quit
Beleza nosso servidor pop3 também esta funcionando corretamente.
Agora vamos testar o IMAP:
# telnet localhost 143
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.
0 login teste@teste.com.br 123
0 OK LOGIN Ok.
0 logout
Beleza nosso servidor imap também esta 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.