People,
Esses dias tive que estudar um pouco sobre Postfix para entender marromenos como que funciona um server de email. Então ai vai um passo-a-passo do que eu fiz para subir esse servidor de email com Postfix usando o squirrelmail para testar os envios e recebimentos dos emails 
Usei Ubuntu Server (não gosto muito mas era o que eu tinha na mão) e gerenciador de pacote aptitude. O mesmo funciona com apt-get se preferir :-p
Primeiramente, vamos instalar os pacotes básicos na máquina. Esses pacotes não são necessariamente só do Postfix.
# aptitude install openssh-server vim-full mutt nmap postfix
Durante a instalação, provavelmente serão feitas algumas perguntas. Por enquanto, apenas dê ENTER para todas elas. Porque assim que a instalação terminar, iremos reconfigurar algumas opções e depois editar o arquivo de configuração direto.
Feita a instalação, vamos reconfigurar algumas opções básicas:
# dpkg-reconfigure postfix
Abaixo, segue um exemplo de configuração que foi definida:
=> OK
=> Internet Site
=> dominio.com.br
=> (em branco)
=> $myhostname, localhost.$mydomain, $mydomain
=> yes
=> 127.0.0.0/8 192.168.1.0/24
=> yes
=> 0
=> +
=> all
Depois que definirmos todas essas configurações, então automaticamente o postfix será recarregado (reload) e reiniciado.
Nesse server básico de Postfix, estou usando a mesma base de usuários comuns do sistema, como usuários que terão email no postfix. Lembrando que todos esses usuários comuns, são os que possuem ID maior que 1000 e estão dentro de /etc/passwd.
Para esse primeiro teste, vou adicionar um usuário novo no sistema:
# adduser joao
Como o postfix já está instalado e com uma pré-configuração, então vamos enviar alguns emails entre os usuários comuns do sistema. Para isso, vamos usar o telnet mesmo:
$ telnet localhost 25
HELO smtp.dominio.com.br
MAIL From: user@dominio.com.br
RCPT to: joao@dominio.com.br
DATA
Mensagem do email.
.
QUIT
Como estamos fazendo tudo na máquina local por enquanto, então usei um telnet localhost na porta 25. Na linha HELO como o próprio nome já fala, estou dando um "Olá" para o meu server de email e domínio. Na linha MAIL From estou avisando qual o usuário que irá enviar o email e na linha RCPT to está o usuário que irá receber o email. Para escrever a mensagem, chamamos o DATA e então basta escrever o que você quiser. Para finalizar a mensagem, basta dar um . único e ele entenderá como fim da mensagem. E para finalizar o telnet, basta dar um QUIT.
É importante prestar atenção nas palavras e letras maiúsculas.
Quando enviarmos esse email para o joao@dominio.com.br, será criado um arquivo com o nome do usuário em /var/mail/.
Por exemplo:
# ls /var/mail
joao
Então para ler o email, pode-se dar um cat nesse arquivo, ou então usar uma ferramenta chamada mutt, que lê emails em linha de comando.
# cat /var/mail/joao
ou
# su joao
$ mutt
Abaixo, segue a estrutura do arquivo /etc/hostname:
# cat /etc/hostname
dominio.com.br
Abaixo, segue a estrutura do arquivo /etc/hosts:
# cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 dominio.com.br dominio.com.br
IP.ex.ter.no dominio.com.br dominio.com.br
A estrutura desses arquivos é importante, porque dependendo dos casos, o hostname e o domínio tem que estar com o mesmo nome.
O arquivo de configuração do Postfix está localizado em /etc/postfix/main.cf.
Abaixo vou colocar umas linhas básicas desse arquivo de configuração para analisar o conteúdo. Não vou explicar o que todas as linhas fazem, mas sites como o do próprio postfix explica o conteúdo de cada linha e muitas vezes cita exemplos =p
# vim /etc/postfix/main.cf
myhostname = IP.ex.ter.no.dominio.com.br
mydomain = dominio.com.br
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, localhost.$mydomain, $mydomain
relayhost =
relay_domains = $mydomain
mynetworks = 127.0.0.0/8 192.168.1.0/24
home_mailbox = Maildir/
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
mailbox_size_limit = 0
Vamos configurar os serviços de pop e imap. Para isso, será necessário instalar os seguintes pacotes:
# aptitude install courier-pop courier-pop-ssl
# aptitude install courier-imap courier-imap-ssl
Quando instalarmoas esses pacotes, será criado um diretório courier dentro do /etc/ e dentro desse diretório, teremos diversos arquivos. Antesde editar os arquivos e fazer as alterações, aconselho renomear os arquivos originais:
# cd /etc/courier
# mv imapd.pem imapd.pem.old
# mv pop3d.pem pop3d.pem.old
O próximo passo, é editar os arquivos imap.cnf e pop3d.cnf e alterar as informações necessárias. Por exemplo coloque em Country=BR, State=Sao Paulo e etc:
# vim imapd.cnf
# vim pop3d.cnf
Quando os arquivos forem alterados, devemos devemos criar novamente os arquivos imapd.pem e pop3d.pem com os comandos:
# mkimapdcert
# mkpop3dcert
O próximo passo agora é instalar o squirrelmail, que é uma ferramenta para testar o envio e recebimento de mensagens de email através de uma interface web mesmo. Se preferir, pode usar alguma outra ferramenta, como eu já tinha comentado antes:
# aptitude install squirrelmail
# aptitude install php5
Continua... :-p
Links de Referências:
http://www.postfix.org/documentation.html
https://help.ubuntu.com/7.04/server/C/postfix.html
http://virtual01.lncc.br/~licht/linux/servidores.postfix.arq.html
http://www.gdhpress.com.br/redeseservidores/leia/index.php?p=cap10-2