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.
Aqui mostrarei o que é necessário para a configuração do MAIN.CF e MASTER.CF, as configurações aqui mostradas são simples, se você deseja saber sobre todas as configurações que pode ser feitas no MAIN.CF você pode olhar no site do Postfix o link é http://www.postfix.org/postconf.5.html o comando postconf -d lista as configurações padrões do main.cf.
Abaixo vai o MAIN.CF que eu uso, linhas que tem // são os comentários para o que as variáveis servem:
#=== CONFIGURAÇÕES
queue_directory = /var/spool/postfix/
program_directory = /usr/sbin
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
default_privs = nobody
default_transport = smtp
alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases
readme_directory = no
sample_directory = /etc/postfix
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
manpage_directory = /usr/local/man
newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
smtpd_banner= ESMTP SUA EMPRESA // Define o banner
disable_vrfy_command=yes // Desabilita o comando vrfy
home_mailbox = Maildir/
html_directory = no
mail_version = 2.1.0 // Versão do Software
maps_rbl_domains =
maps_rbl_reject_code = 554
smtpd_recipient_limit = 100 // Nº de msgs que podem ser enviadas por vez.
message_size_limit = 10240000 // Tamanho da msg em bytes
smtpd_helo_required = yes // Se é obrigado a fazer helo
unknown_local_recipient_reject_code = 450
default_process_limit = 1000 // Quantidades de processos o valor padrão é 100
se seu server vai receber muitas requisições aumente isso para um valor maior,
no meu caso 1000 foi o suficiente.
#=== NOME DO DOMÍNIO
myhostname = maquina.domínio.com.br
mydomain = dominio.com.br
myorigin = $mydomain
mydestination = $mydomain, $transport_maps
#=== REDES p/ Relay
mynetworks = 127.0.0.1 // Aqui você pode colocar uma rede inteira ou somente
hosts, ex.: 200.200.200.0/24 ou 200.200.200.1
#=== Pop-Before-Smtp
// Aqui entra a configuração para o pop-before-smtp vejam que só é aceito
fazer relay mynetworks, quem estiver o email de acordo com fqdn (user@domain)
e quem estiver contido no arquivo pop-before-smtp.
smtpd_recipient_restrictions = permit_mynetworks, reject_non_fqdn_recipient,check_client_access hash:/etc/postfix/pop-before-smtp, reject_unauth_destination
#=== MYSQL
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_base = /var/server/postfix
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_uid_maps = static:1010 // lembram quando criamos o usuário e grupo com uid e gid 1010
virtual_gid_maps = static:1010
transport_maps = virtual // Definimos o virtual como meio de transport
#=== Quota
virtual_mailbox_limit_inbox = no
virtual_mailbox_limit_maps= mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_maildir_extended = yes
virtual_create_maildirsize = yes
virtual_mailbox_limit = 200000000 // Estabelece quota de 20MB mas isso pode
ser definido para cada usuário nas tabelas do mysql.
virtual_maildir_limit_message = Lamento, a cota do usuário foi excedida, por favor tente mais tarde.
virtual_overquota_bounce = yes
#=== AMAVIS
// Aqui entra a configuração para o amavis_new
content_filter = smtp-amavis:[127.0.0.1]:10024
Abaixo vai o MASTER.CF que eu uso, linhas que tem // são os comentários para o que as variáveis servem, esse arquivo e muito extenso, vou colocar aqui somente as linhas que eu precisei alterar:
São configurações simples então não tenha medo de estudar e aprofundar-se mais nessas configurações. Falaremos agora sobre a instalação do Postfixadmin e SquirrelWebmail.
[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.