Você está na página 1de 25

Guia "Uma rapidinha no Postfix"

-------------------------------
Stéfano Martins <xstefanox@gmail.com>
Versão 0.2 - domingo, 03 de outubro de 2004.
-----------------------------------------------------------------
Sobre o guia
------------
Este guia tem como seu objetivo ser o mais simples possível,
abordando o assunto nem de maneira superficial demais ou
aprofundada demais. Estou escrevendo pois estava sem fazer
nada pela comunidade GNU/Linux, somente sugando informação.
Como todos podem ver, o estilo do meu guia é similar ao do
Guia Foca GNU/Linux, que está disponível em
http://focalinux.cipsga.org.br. Fiz isso por quatro motivos:
1 - Eu gosto do estilo do guia;
2 - Aprendi mais com o autor daquele guia do que com a
maioria dos meus professores;
3 - Para os que já estavam acostumados a utilizar o Guia
Foca Linux, irão ficar mais entrosados;
4 - Porquê eu quis.
Não garanto que esse guia vá possuir inúmeras versões
melhoradas, mas é claro que de vez em quando eu posso
adicionar novos features nele, mas ele irá sempre continuar
com esse mesmo layout. Com um pouco de sorte quem sabe esse
guia passe de 10 páginas!
Nota: Nos últimos dias, um espaço foi cedido para os meus
guias pelo William Rocha para a hospedagem. O endereço
oficial desse guia e dos demais (Squid e NIS) é:
http://squid.linuxit.com.br
Grato William!
IMPORTANTE: Esse guia é disponibilizado no formato "as is",
não possui garantia alguma e julgo-me isento de qualquer
responsabilidade.

Nota de Copyright
-----------------
Copyleft (C) 2004 - Stéfano Martins.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation
License, Version 1.1 or any later version published by the
Free Software Foundation; A copy of the license is included
in the section entitled "GNU Free Documentation License".

-----------------------------------------------------------------

Conteúdo
--------
1. Introdução
1.1. Propósito do Guia/Nota do autor
1.2. O que é um servidor de e-mail?
1.3. Como é dividido um servidor de e-mail?
1.3.1. Mail Transfer Agent (MTA)
1.3.2. Mail Delivery Agent (MDA)
1.3.3. Mail User Agent (MUA)
1.4. O que um servidor de e-mail pode fazer por mim?
1.5. Como funciona
2. Protocolos
2.1. SMTP
2.2. POP
2.3. IMAP
3. Sobre os softwares utilizados nesse guia
3.1. Postfix
3.2. Maildrop
3.2.1. Mailbox (MBOX)
3.2.2. Maildir (Maildir/)
3.2.3. Mailbox ou Maildir: Qual é o melhor?
3.3. Courier-IMAP
3.4. Courier-POP
3.5. Courier-authdaemon
3.6. A distribuição Debian
4. Outros softwares com as mesmas funções
4.1. MTA's
4.1.1. qmail
4.1.2. Sendmail
4.1.3. Exim
4.1.4. Courier-mail
4.2. MDA's
4.2.1. Procmail
4.2.2. Postdrop
4.3. MUA's
4.3.1. Outlook Express
4.3.2. Microsoft Outlook
4.3.3. Mozilla Mail
4.3.4. Mail/Mailx
4.3.5. Ximian
4.3.6. Kmail
4.4. Servidores POP/IMAP
4.4.1. ipopd
4.4.2. Cyrus-POP/Cyrus-IMAP
4.4.3. solid-pop3d
4.4.4. qpopper
5. Instalando e configurando o ambiente e os serviços
5.1. Postfix
5.2. Maildrop
5.3. Courier-IMAP
5.4. Courier-POP
5.5. Courier-authdaemon
5.6. BIND
5.7. Criação das caixas de e-mail
5.8. Configurando a rede
5.9. Iniciando/Reiniciando/Parando/Reconfigurando
os daemons
6. Arquivos de configuração
6.1. /etc/postfix/main.cf
6.2. /etc/passwd
6.3. /etc/maildroprc
6.4. /var/log/mail.log
7. Outros
7.1. Sobre esse guia
7.2. O que você precisa para utilizar esse guia?
7.3. Sobre o autor
7.4. Agradecimentos
7.5. Referências
7.6. Críticas? Sugestões? Ajuda?
7.7. Atualizações do guia
7.8. ToDo
7.9. Links interessantes

-----------------------------------------------------------------

1. Introdução
-------------
Esse capítulo é básico. Para todos os que já conhecem como
um servidor de e-mail funciona, podem até pular esse
capítulo, mas recomendo a leitura de qualquer jeito.

1.1. Propósito do Guia/Nota do autor


------------------------------------
Bem, escrevi esse guia por um único e simples motivo: Não
existe uma documentação explicativa o suficiente que pode me
ajudar quando eu precisei. Servidores de e-mail são items em
uma rede que são excepcionalmente difíceis de configurar e
difíceis para implementar.
Não queria que vocês considerassem esse guia um livro. Quem
me conhece pessoalmente ou já leu algum dos meus outros
guias sabe que o meu envolvimento com as pessoas que me
pedem ajuda, sobretudo depois de lerem os meus guias. Eu não
me preocupo apenas em escrever. Preocupo-me com as pessoas.
Pode parecer piegas, mas é com esse pensamento também que eu
escrevo. É um hobby ajudar os outros.
Todos os dias eu recebo algum e-mail de alguém pedindo ajuda
e falando que o seu emprego corre grande perigo caso ele não
consiga fazer o que eu tento ensinar. Nessa hora as pessoas
são modestas e humildes. Isso independe de idade, credo,
or, etc. As pessoas são simplesmente pessoas. Umas ajudando
s outras. É essa a filosofia por trás do software-livre e é
extremamente prazeroso receber e-mails de casos de sucesso
e/ou agradecimentos. É por essas pessoas que eu continuo a
escrever. É por isso que eu nunca vou parar de escrever.
Bom, agora mudando um pouco de assunto...
O Guia "Uma Rapidinha no Postfix" foi escrito com o
propósito de ser rápido, fácil, do it yourself e, se
possível, engraçado.
Ele é um guia menos abrangente do que os outros guias por
isso. Enquanto os outros guias enrolam, enrolam e não falam
nada de interessante ou ensinam a montar, mas não explicam o
que determinada tarefa faz, eu tento montar algo simples,
mas que funcione perfeitamente para uma intranet ou para uma
internet.
É claro que ainda tem muita coisa a ser escrita e quem sabe
esse guia daqui a alguns meses torne-se "Uma Noite de Amor
com o Postfix".
Por isso me limitei a falar somente da implementação em uma
distribuição, mas nada com que um pouco de estudo não faça
funcionar em outras distribuições também.
Outra coisa: Esse guia, por enquanto, não irá abranger o uso
mais avançado de servidores de e-mail, tais como:
Implementação junto com MySQL, domínios virtuais, etc. O
ambiente resume-se a criar um domínio único e contas de
usuários locais. Nada mais, nada menos. Mas isso, como eu
disse, POR ENQUANTO.
Oras... eu acho que eu já falei demais. Boa leitura!

1.2. O que é um servidor de e-mail?


-----------------------------------
Você já se perguntou isso? O que é, afinal de contas, um
servidor de e-mail? Como ele funciona? Como ele armazena as
mensagens? O que ele faz?
Para alguém que mexe faz tempo com informática ou com
computadores, isso é mais do que simples. Eu diria que para
alguns, a pergunta é absurda. Afinal de contas, quem nunca
mandou um simples e-mail?
Poisé, o que você não enxerga é que um servidor de e-mail é
muito mais do que ele aparenta ser e é muito mais difícil do
que ele aparenta, referindo-se a configurações mais
complexas, ok?
Em outras palavras, nunca subestime um servidor de e-mail.
Tanto em poder, quanto em dificuldade.

1.3. Como é dividido um servidor de e-mail?


-------------------------------------------
Muitos que estão lendo esse guia e não têm uma aprofundada
noção de como um servidor de e-mail funciona pensa que ele é
somente uma coisa. Um daemon que executa todas as funções...
ERRADO!
Na verdade, um servidor de e-mail é dividido em vários
programas distintos que fazem diferentes funções na árdua
função de enviar e-mails. É o que nós iremos estudar mais a
fundo.
Não existe nenhum servidor de e-mail em que os três items a
seguir não estejam presentes.

1.3.1. Mail Transfer Agent (MTA)


--------------------------------
Um Mail Transfer Agent (MTA) é o agente responsável pelo
envio e recebimento de e-mails. No nosso caso nós
utilizaremos o Postfix como MTA.

1.3.2. Mail Delivery Agent (MDA)


--------------------------------
O Mail Delivery Agent (MDA) é o agente responsável pela
entrega das mensagens para as caixas de mensagens dos
usuários. No nosso caso nós utilizaremos o Maildrop como
MDA.

1.3.3. Mail User Agent (MUA)


----------------------------
O Mail User Agent (MUA) é o mais numeroso dentre os vários
items que compõem um servidor de e-mail, mesmo ele não sendo
uma parte explicitamente do servidor em si, mas sim do
serviço de e-mail.
O Mail User Agent é o programa que o usuário utiliza para
ler e enviar os seus e-mails. Ele pode ser o Eudora, o
Outlook, etc. No nosso caso, você pode utilizar o que for de
sua preferência.

1.4. O que um servidor de e-mail pode fazer por mim?


----------------------------------------------------
Desde a década de 70 os servidores de e-mail são utilizados.
Eles surgiram com a necessidade do envio e recebimento de
correspondência virtual, momentânea e que seja
principalmente seguro e rápido.
O e-mail foi muito utilizado em faculdades e em centros de
pesquisas. Só não "foi", como ainda é. Qualquer
administrador de sistemas/redes que presta serviços para uma
empresa grande precisa de um servidor de e-mail. Para
comunicação interna principalmente.
Quantos portais da internet não têm os seus próprios
servidores de e-mail? Com seus próprios domínios?
Um servidor de e-mail tornou-se um elemento indispensável
para a comunicação e para o crescimento de qualquer empresa
que trabalhe com computadores e seja relativamente grande.
Por isso, não adianta tentar fugir. Mais cedo ou mais tarde
você irá se deparar com esse pepino e vai se desesperar.
1.5. Como funciona
------------------
Ótimo, você já sabe do que é formado um servidor de e-mail!
MTA, MDA e MUA. Mas você sabe como que ele funciona? É assim
oh:
1 - O usuário pega e redige o seu e-mail em seu computador,
utilizando um leitor de e-mails, como o Outlook.
2 - Finalmente, depois de enviar aquela linda corrente que
ele acaba de inventar sobre uma menina que sofria de uma
doença incurável e que estava à beira da morte, porquê ele
acha engraçado falar dessas coisas, ele finalmente clica no
botão "Enviar".
3 - O MUA começa o seu árduo trabalho de se conectar no
servidor SMTP especificado nas configurações e entrega o
e-mail para o MTA.
4 - O MTA pica a mensagem em vários milhares de pedacinhos
(não se preocupe, ele não faz isso por mal) e envia esses
pedacinhos para o servidor que está rodando o outro MTA que
é responsável pelo domínio endereçado no cabeçalho do
e-mail. Claro, isso depois de "bater um papinho" com o BIND,
com perguntas indecentes como: "Oi, eu já te conheço de
algum lugar, não é?", "Você poderia me indicar o IP desse
domínio?", "Que tal nós caírmos para perto do processador?
Se for AMD ele é bem quentinho".
5 - Finalmente, o MTA do outro lado recebe os pedacinhos que
o primeiro MTA enviou e monta finalmente uma mensagem. Feito
isso, ele aciona o MDA e repassa-lhe a mensagem.
6 - O MDA pega a mensagem, olha com aquele desgosto (por se
tratar de corrente), mas deixa passar a mensagem para o
destinarário escrito no cabeçalho da mensagem. Então ele
coloca a mensagem na caixa de e-mails do usuário
destinatário e está feita a transação. A mensagem está
armazenada no servidor.
7 - Finalmente, o MUA do outro usuário, que é o
destinarário, faz uma requisição para um servidor POP ou
IMAP que está rodando nessa máquina (leia mais sobre POP ou
IMAP no capítulo 2), puxando assim suas mensagens.
8 - O usuário lê o e-mail com a corrente e fica furioso,
liga para o fulano e pede para que não lhe mande mais
e-mails assim.
E é essa a trajetória de um e-mail pela internet! Isso
acontece a cada segundo, milhares de vezes. E a maioria das
pessoas ainda não sabem usar essa maravilhosa ferramenta...
paciência.

-----------------------------------------------------------------
2. Protocolos
-------------
Não somente o Postfix, mas todos os servidores de e-mail
trabalham com esses protocolos. Cada protocolo tem uma
função diferente dentro do servidor de e-mail. Usuários um
pouco mais leigos podem não saber que estão utilizando esses
protocolos, mas eles estão sempre lá para uso.

2.1. SMTP
---------
O Simple Mail Transfer Protocol é o protocolo utilizado por
servidores de e-mail para o envio e recebimento de mensagens
eletrônicas para outros servidores espalhados na internet.

2.2. POP
--------
O POP (Post Office Protocol) é o protocolo responsável por
entregar as mensagens armazenadas no servidor para o cliente
requisitante. Detalhe: O POP não é criptografado. Todo o
tráfego é feito em texto plano.

2.3. IMAP
---------
O IMAP (Internet Message Access Protocol) é uma alternativa
ao POP, porém muito mais segura e muito mais versátil do que
o amigo acima.
O IMAP permite ao usuário criar pastas para organizar os
seus e-mails no servidor para melhor organização, permite a
utilização de webmails (como o UebiMiau, OpenWebmail ou o
Sqwebmail, que serão tratados em versões posteriores desse
guia).
Para o cliente que utiliza IMAP, sua principal vantagem é
que ele lê as mensagens armazenadas no servidor como se elas
fossem locais, o que permite uma melhor dinâmica entre o
usuário e o servidor de e-mail.
Mas uma característica muito importante em que o IMAP se
sobressai sobre o POP é a segurança. O IMAP trabalha com
criptografia e é mais recomendado para ambientes em que uma
segurança maior é requerida.

-----------------------------------------------------------------

3. Sobre os softwares utilizados nesse guia


-------------------------------------------
Aqui estão os softwares que nós iremos utilizar no
desenvolvimento do nosso guia. Quando eu estava aprendendo,
eu perdi a conta de quantas e quantas vezes eu perguntei
para how-to's e pessoas "Mas o que eu vou precisar?", "Que
pacotes eu tenho que puxar pelo apt?". Alguns falavam para
eu puxar n pacotes, outros mandavam eu puxar y. Outros
mandavam eu puxar pacotes diferentes. Realmente foi
difícil...

3.1. Postfix
------------
O Postfix é um ótimo servidor de e-mail. Para falar a
verdade, eu diria que é o melhor e que revolucionou o
conceito de servidor de e-mail. Eu estou utilizando Postfix
pelos seguintes motivos:
1 - É rápido;
2 - É simples;
3 - É fácil;
4 - Muito fácil para instalar, sem falar que a Debian mantém
pacotes específicos para cada tipo de instalação. Ex: Caso
você queira trabalhar utilizando MySQL, normalmente você
teria que recompilá-lo com suporte à MySQL. A Debian mantém
um pacote chamado "postfix-mysql", que já vem pronto para a
utilização. Outros pacotes com integração com LDAP,
PostgreSQL, etc. também estão disponíveis;
5 - Grandes servidores de e-mail como os do Terra e UOL
utilizam Postfix;
6 - É extremamente simples de administrar depois de
instalado. Enquanto usuários utilizando qmail ou Sendmail
administram 100 usuários, você vai estar administrando 500
(Relativo do administrador).
7 - Vasta documentação disponível no site oficial, ainda que
seja um pouco complicada para os principiantes.
O Postfix foi escrito por Wietse Venema, personagem
conhecido por ter escrito o RPC e o NFS (por mais inseguro
que eles sejam, quem vive sem eles?).
Bom, eu acho que são motivos o suficiente. Não tenho nada
contra outros servidores de e-mail, como o qmail ou o
Sendmail, vale ressaltar.

3.2. Maildrop
-------------
O Maildrop é o nosso MDA. Ele é rápido, permite a filtragem
de mensagens com conteúdo impróprio e tem suporte a caixas
de mensagens nos dois formatos conhecidos: Mailbox (MBOX) e
Maildir (Maildir/).

3.2.1. Mailbox (MBOX)


---------------------
As Mailboxes são um tipo mais antigo e mais maduro de caixas
de mensagens. Utilizadas desde o Sendmail, tornaram-se um
padrão por muito tempo de caixas de mensagens.
Com as caixas de mensagens no formato MBOX, todos os e-mails
do cliente é armazenado em um único arquivo. O que por um
lado é menos seguro, caso ocorra algum corrompimento de
dados, porém é relativamente mais rápido para procurar
mensagens indexadas.
Mas dentre todos esses poréns, as Mailboxes ainda estão em
uso. Muitos administradores antigos negam-se a migrarem.
Talvez pelo trabalho que dê de migrar a caixa de mensagens
de 1000 usuários para o formato Maildir, mas que é feito por
meio de um programa chamado mb2md, um script feito em Perl.
No nosso guia, nós iremos utilizar o padrão de caixas de
mensagens chamado Maildir (Maildir/)

3.2.2. Maildir (Maildir/)


-------------------------
Com o qmail veio uma grande revolução. O uso dos Maildirs ao
invés das antigas Mailboxes. Os Maildirs mantém as mensagens
individualizadas e mais organizadas dentro de subdiretórios
dentro do pasta do usuário (você pode criar em outra pasta
se você desejar).

3.2.3. MBOX ou Maildir: Qual o é o melhor?


------------------------------------------
Essa é uma pergunta complicada. Ambos tem suas vantagens e
desvantagens, mas aqui estão as principais:
* Procurar dentro de uma caixa de mensagens utilizando
Maildir é um pouco mais lento e carrega um pouco mais a CPU
do que uma caixa de mensagens linear (como o Mailbox) a
partir do momento que podem existir milhares de mensagens a
serem lidas. Entretanto, adicionar, deletar ou modificar
e-mails irá ser muito mais rápido a partir do momento em que
não há um arquivo longo para se regravar. Eu acho que o
último ponto é muito mais importante que o primeiro.
* Utilizar caixas de mensagens no formato Maildir é muito
mais espaçoso do que no formato Mailbox, a menos que você
tenha um formato de arquivos mais rápido, como ReiserFS.
Servidores de e-mail geralmente tem um melhor
desenvolvimento utilizando um sistema de arquivos mais
rápido.
* Quando fizer backup de um conjunto de Maildirs, pode ser
um pouco trabalhoso, pois ao invés de você utilizar somente
um arquivo para gravar, você vai ter que salvar um diretório
inteiro. Essa é uma característica que para mim não faz
muita diferença, mas que para alguns administradores pode
ser inconveniente.
* Alguns leitores de e-mail não trabalham com mensagens no
formato Maildir. Isso é uma regra para servidores de e-mails
antigos ou que não se atualizaram.
* Não é qualquer servidor POP ou IMAP que trabalha com
Maildir. O que nós estamos utilizando
(Courier-IMAP/Courier-POP) só trabalha com caixas de
mensagens no formato Maildir. Do mesmo jeito, não é qualquer
MDA e MTA que trabalham com caixas de mensagens no formato
Maildir.

3.3. Courier-IMAP
-----------------
O Courier-IMAP é um servidor que provém acesso a caixas de
mensagens no formato Maildir (e somente no formato Maildir).
Uma grande vantagem utilizando o Courier-IMAP ao invés de
outros servidores de IMAP é que ele roda como daemon, ao
invés de por meio de xinetd ou inetd, o que é vantajoso caso
você tenha um servidor com muitas requisições, sem falar dos
numerosos bugs do xinetd e do inetd. Porém quem vive sem
eles?

3.4. Courier-POP
----------------
O Courier-POP é idêntico ao Courier-IMAP, com excessão de
que ele trabalha utilizando-se do protocolo POP, ao invés do
IMAP.

3.5. Courier-authdaemon
-----------------------
O Courier-authdaemon é o daemon resposável por fazer as
autenticações dos clientes que requisitam os seus e-mails.

3.6. A distribuição Debian


--------------------------
Bem, você deve estar pensando que nesse momento eu vou
catequizar você, dizendo "A minha distribuição é melhor do
que a sua". ERRADO! Eu somente vou colocar alguns
interessantes aspectos da distribuição. Se você gostar ou já
utilizar, ótimo! Mas eu só acho que você deve manter a mente
aberta.
Quero ressaltar que algumas distribuições são melhores do
que outras sim. Mas isso depende também do tipo de usuário
ou administrador que você é. Se você quer algo seguro e
estável, utilize Debian. Se você gosta de algo mais robusto
e com ferramentazinhas bonitinhas, utilize RedHat. Se você
gosta de fazer tudo na mão, utilize Slackware.
Eu pessoalmente gosto da ideologia da Debian e do modo como
a distribuição é desenvolvida. A ideologia é exatamente
igual à da GNU: Software deve ser livre (as in freedom) e o
modo de desenvolvimento é muito coletivo, ao contrário da
Slackware, onde existe um cabeça que faz e desfaz (nada
contra, eu gosto de Slackware).
Sem falar no sistema de apt. O apt é um sistema de
instalação e remoção de pacotes diretamente puxados do
mirrors da Debian, utilizando-se de um programa chamado
*apt-get*. Você somente tem que digitar um comando que ele
puxa o software e toda a sua lista de dependências, o que
torna o sistema muito mais fácil de se administrar, embora
alguns digam que a sua instalação é um tanto quanto difícil.
Voltando à ideologia da Debian, normalmente ela não
utiliza-se de softwares não-livres. Mas é claro que você
pode alterar isso nas configurações do apt-get, para que ele
puxe também softwares que não são livres.
Repetindo: EU NÃO TENHO NADA CONTRA AS OUTRAS DISTRIBUIÇÕES.
Só me identifiquei mais com a Debian do que com outras.
E SIM! EU SOU XIITA QUANDO SE TRATA DA QUESTÃO "LIVRE".

-----------------------------------------------------------------

4. Outros softwares com as mesmas funções


-----------------------------------------
Nesse capítulo nós iremos tratar de alguns softwares que são
similares e/ou que desenvolvem as mesmas funções dos que nós
iremos tratar nesse guia.

4.1. MTA's
----------
Lista dos Mail Transfer Agents (MTA's) similares ao Postfix.

4.1.1. qmail
------------
O qmail, escrito por Dan Bernstein, um professor de
matemática que agora está na Universidade de Illinois em
Chicago. Ele é muito conhecido pelo seu trabalho no campo da
criptografia e pelo seu histórico de processos contra o
governo dos Estados Unidos, recorrendo ao uso da publicação
do código-fonte da criptografia.
O primeiro lançamento públicod o qmail foi a versão beta
0.70, ocorrida no dia 24 de janeiro de 1996. O primeiro
release estável, 0.90 foi em primeiro de agosto de 1996.
Depois de algumas versões lançadas do qmail, ele parou o
desenvolvimento na versão 1.03, lançada em 15 de junho de
1998. Há rumores que a versão 2.0 está para ser lançada.
O qmail não é software-livre. Sua licença proíbe de que você
distribua-o em formato pré-compilado (pacotes .rpm, .tgz ou
.deb), mas você pode distribuir o seu source-code
livremente.
Como dito acima, o qmail revolucionou o modo como os
servidores de e-mail funcionam, introduzindo o conceito de
Maildirs, sem falar de sua segurança, que é fenomenal. O
qmail foi escrito com esse intuito depois de várias brechas
de segurança encontradas no Sendmail.
NOTA: O nome correto é "qmail", não "Qmail".

4.1.2. Sendmail
---------------
O Sendmail foi um dos primeiros (se não o primeiro) MTA a
ser lançado oficialmente para GNU/Linux.
O Sendmail é pesado, seus arquivos de configuração são
horríveis (incompreensíveis, para falar a verdade) e suas
brechas de segurança são estrondosas. Porém foi o primeiro
servidor de e-mail oficial para GNU/Linux. Existem vários
administradores que não o trocam por nada.
O Sendmail vem com um aplicativo chamado *m4*. Esse
aplicativo lê algumas macros editadas e contrói um arquivo
de configuração para o Sendmail. Complicado, não?

4.1.3. Exim
-----------
Eu particularmente nunca utilizei, mas me falaram muito bem
dele. Embora não seja um servidor muito conhecido e tampouco
utilizado, falaram-me que ele é extremamente rápido e que
suporta um grande número de usuários simultâneos.

4.1.4. Courier-mail
-------------------
O Courier-mail é um servidor de e-mails e de grupos baseado
protocolos como ESMTP, IMAP, POP3, LDAP, SSL e HTTP. O
Courier-mail provém ESMTP, IMAP, POP3, webmail e serviços de
mailing lists em um único ambiente. Interessante para quem
gosta de algo centralizado. Os componentes individuais podem
ser habilitados e/ou disabilitados conforme a sua vontade.

4.2. MDA's
----------
Lista dos Mail Delivery Agents (MDA's) compatíveis com o
Maildrop.

4.2.1. Procmail
---------------
O Procmail foi originalmente desenvolvido por Stephen R. van
den Berg no outono de 1998. Reconhecendo que ele não tinha
tempo para manter o procmail por si só, Stephen criou uma
mailing list para discussão e futuro desenvolvimento do
mesmo e designou Philip Guenther como o mantenedor.
O Procmail pode ser usado para criar servidores de e-mail,
mailing lists, organizar seus e-mails em diferentes
diretórios/arquivos (dependendo do tipo de caixa de entrada
que você utiliza), inicial quaisquer programas com a chegada
de e-mail (exemplo: tocar diferentes sons dependendo do tipo
de e-mail que chega) ou encaminhar alguns e-mails chegos
para para alguém.

4.2.2. Postdrop
---------------
O Postdrop é um MDA que vem junto com o Postfix em si. Eu
nunca utilizei-o, mas me dizem que é mais simples de ser
utilizado, embora não possua filtros muito eficientes e seja
algo muito, mas muito simples. Foi uma idéia original para
manter quase tudo em um único pacote.

4.3. MUA's
----------
Lista dos Mail User Agents (MUA's). A lista é vasta.

4.3.1. Outlook Express


----------------------
O Outlook Express é uma versão mais "light" do Microsoft
Outlook e foi desenvolvido para a simples ação de trocar
mensagens, ao contrário do Microsoft Outlook, em que as
funções são várias. É um dos MUA's mais utilizados no mundo,
devido ao fato dele vir com o próprio Windows.
Uma grande desvantagem é que quando se tem muitas mensagens
em seu Outlook Express, ele costuma travar.

4.3.2. Microsoft Outlook


------------------------
Leitor de e-mails, agenda, calendário, contatos. Essas são
algumas das funções do Microsoft Outlook. É um MUA
interessante, embora proprietário.

4.3.3. Mozilla Mail


-------------------
Leve, fácil de configurar, rápido e muito estável. Esse é o
Mozilla Mail, desenvolvido pela equipe que mantém o Mozilla.
Se não me engano, o Mozilla Mail vem com todas as versões do
Mozilla, com excessão do Firefox.

4.3.4. Mail/Mailx
-----------------
É o MUA muito interessante quando se trata de estações
somente com modo texto e para desenvolvimento de
Shell-Scripts.

4.3.5. Ximian
-------------
O Ximian é um MUA muito poderoso que está sendo utilizado
pelos usuários mais desenvolvidos e mais maduros em sistemas
*nix-like. Creio eu que exista também uma versão para
Windows.
É muito robusto, porém eu o considero um pouco lento.

4.3.6. Kmail
------------
Leitor oficial de e-mails do KDE. Eu como não uso KDE, não
posso falar muito sobre ele, mas me falaram que ele é
simples e bem intuitivo.

4.4. Servidores POP/IMAP


------------------------
Lista de outros servidores POP/IMAP, descrições rápidas
dadas pelo apt-get.

4.4.1. ipopd
------------
Servidor POP da Universidade de Washington.

4.4.2. Cyrus-POP/Cyrus-IMAP
---------------------------
Servidores POP/IMAP para quem já está acostumado a utilizar
o MDA Cyrus.

4.4.3. solid-pop3d
------------------
Servidor POP com suporte a Maidir, PAM e vhosting.

4.4.4. qpopper
--------------
Servidor POP aperfeiçoado.

-----------------------------------------------------------------

5. Instalando e configurando o ambiente e os serviços


-----------------------------------------------------
É nesse capítulo que nós começamos a instalar os softwares
necessários para a criação do servidor.
Instalar as coisas com Debian não é nenhuma árdua tarefa. O
apt-get é muito fácil.
OBSERVAÇÃO: Estou considerando que o seu sistema de apt
esteja configurado corretamente.

5.1. Postfix
------------
Para o pacote básico, você pode fazer o seguinte:
# apt-get install postfix
Ele irá puxar o pacote do Postfix do CD (caso você tenha
puxado um conjunto de CD's e gravado) ou então puxar de
algum mirror da Debian.
Logo que ele terminar de puxar, ele irá fazer algumas
perguntas para você (o dpkg, para ser mais preciso). Ele irá
fazer à você as seguintes perguntas:
Tipo geral de configuração?
---------------------------
Aqui ele pergunta que tipo de servidor você irá querer
montar. Se é um servidor para a internet, para a intranet,
utilizando-se de SmartHost ou se será somente um servidor
para o envio local. Você pode escolher "Somente local".
Mail name?
----------
Seria o FQDN (Full Qualified Domain Name) da máquina, com
host e tudo o mais. No nosso exemplo, vamos colocar:
mail.dominio.com.br
Append .domain to simple addresses?
-----------------------------------
Essa opção especifica que quando ele ver somente um
componente no hostname, ele deva adicionar automaticamente o
.dominio.com.br. É seguro dizer "não" aqui.
Relay host?
-----------
Seria o host que você deverá repassar os e-mails. Você pode
não colocar nada aí.
Outros destinos para os quais aceitar mensagens?
------------------------------------------------
Aqui você especifica os domínios pelos quais você deseja que
o seu servidor de e-mail seja responsável, separados por
vírgulas. Adicione "dominio.com.br" depois do último valor e
vá para a próxima página.
Redes locais?
-------------
Aqui você especifica o relay do seu servidor Postfix.
Adicione as redes que você deseja que o seu MTA ouça por
requisições.
Usar procmail para entrega local?
---------------------------------
Aqui ele pergunta se você quer utilizar o Procmail como MDA.
Como nós iremos utilizar o Maildrop, vamos dizer que não.
Mailbox size limit?
-------------------
Define o tamanho máximo das suas caixas de mensagens. 0
significa que não existe valor.
Caracter de extensão de endereço local?
---------------------------------------
Você pode deixar o valor padrão aí.
Essas são as únicas perguntas que o Postfix irá fazer para
você. Vale lembrar que o Postfix foi feito para ser simples
de ser configurar. Você edita 5 tags e o seu servidor está
rodando.
Caso você tenha que alterar alguma coisa, pois errou ou
pulou algum passo, você pode refazer essa configuração
digitando:
# dpkg-reconfigure postfix
Caso você precise de alguma configuração mais específica,
rode o seguinte comando:
# dpkg-reconfigure -plow postfix
Dessa maneira, o dpkg irá fazer mais perguntas, para
configurações mais afinadas.
Ainda temos que fazer algumas alterações dentro do main.cf.
São elas:
NOTA: Caso as tags não existam, crie-as.
mailbox_command
---------------
Valor que deverá ficar:
mailbox_command = /usr/bin/maildrop -d ${USER}
home_mailbox
------------
Valor que deverá ficar:
home_mailbox = Maildir/
mynetworks
----------
Aqui é onde nós iremos definir o relay do Postfix, adicione
as redes conforme as suas necessidades.
Bom, acho que essas configurações devem resolver.
5.2. Maildrop
-------------
Para instalar o Maildrop, execute o seguinte comando:
# apt-get install maildrop
Com o Maildrop a única coisa que eu tive que fazer foi
descomentar uma linha do arquivo /etc/maildroprc, para que
ele lesse os Maildirs dentro dos diretórios HOME do usuário.
A linha é:
#DEFAULT="$HOME/Maildir"
E ela deverá ficar assim:
DEFAULT="$HOME/Maildir"
Essa linha é a última. Edite com o Vim ou com o seu editor
de texto predileto, salve e saia.

5.3. Courier-IMAP
-----------------
Para instalar o Courier-IMAP, você deverá executar o
seguinte comando:
# apt-get install courier-imap
Você não precisa configurar nada com esse item.

5.4. Courier-POP
----------------
Para instalar esse item, você deverá rodar o seguinte
comando:
# apt-get install courier-pop
Não foi necessária nenhuma configuração a mais.

5.5. Courier-authdaemon
-----------------------
Caso o Courier-IMAP ou o Courier-POP não tenham instalado
esse item já, você deverá rodar o seguinte comando para tal:
# apt-get install courier-authdaemon
Não foram necessárias mudanças em sua configuração.

5.6. BIND
---------
Estou presumindo que você saiba lidar com servidores DNS,
portanto eu não vou detalhar muito sua configuração, dizendo
apenas quais as entradas que você deverá adicionar no seu
mapa de DNS.
@ IN MX 1 mail.dominio.com.br.
smtp IN A 192.168.0.1
pop IN CNAME smtp
Isso deve resolver, saia e salve o seu mapa e reinicie o
named.
# /etc/init.d/bind9 restart

5.7. Criação das caixas de e-mail


---------------------------------
Com a instalação do Maildrop, junto com ele vem um programa
chamado maildirmake. Esse programa é o programa responsável
pela criação de caixas de mensagens utilizando-se do padrão
Maildir. Para criar uma nova caixa de mensagem, siga os
passos:
Entre na pasta home do usuário:
# cd /home/fulano
Utilize o comando *su* para trocar de usuário:
# su fulano
Execute o maildirmake:
$ maildirmake Maildir
Pronto. Faça isso com todos os usuários do sistema que devam
ter uma conta de e-mail ou crie uma pasta Maildir dentro do
seu /etc/skel, assim sempre que você adicionar um usuário no
sistema, ele já irá copiar a pasta Maildir para o diretório
home do mesmo.
NOTA DO AUTOR: Repetindo, eu não vou utilizar nenhuma outra
base de dados além do /etc/passwd. Só os usuários
cadastrados no sistema (no /etc/passwd) terão acesso à uma
conta de e-mail.

5.8. Configurando a rede


------------------------
Caso você queira rodar um servidor interno de e-mail (o que
acontece muito), você precisa especificar como o seu DNS
primário o servidor BIND que você acabou de configurar. Para
tanto, edite o seu resolv.conf, inserindo a seguinte linha:
nameserver 192.168.0.1
Esse é o único requisito de rede.
5.9. Iniciando/Reiniciando/Parando/Reconfigurando os daemons
------------------------------------------------------------
Depois de tudo configurado, você deve iniciar os daemons
responsáveis pelo servidor de e-mail. São eles:
* postfix
* courier-imap
* courier-pop
* courier-authdaemon
Para iniciá-los, execute os seguintes comandos:
# /etc/init.d/postfix start
# /etc/init.d/courier-imap start
# /etc/init.d/courier-pop start
# /etc/init.d/courier-authdaemon start
NOTA DO AUTOR: Caso você não tenha percebido, estou deixando
a seu critério se você quer utilizar POP ou IMAP. Se você
quiser utilizar somente IMAP, erga somente o serviço de
IMAP. Se você quiser rodar somente POP, erga somente o
serviço de POP.
Para pará-los, execute os seguintes comandos:
# /etc/init.d/postfix stop
# /etc/init.d/courier-imap stop
# /etc/init.d/courier-pop stop
# /etc/init.d/courier-authdaemon stop
Para reiniciá-los, execute os seguintes comandos:
# /etc/init.d/postfix restart
# /etc/init.d/courier-imap restart
# /etc/init.d/courier-pop restart
# /etc/init.d/courier-authdaemon restart
Para reconfigurar as configurações do Postfix sem ter que
reiniciá-lo, execute:
# /etc/init.d/postfix reload
Pronto! Seu servidor de e-mail está rodando! Agora somente
configure os clientes como se fosse uma conta de e-mail
POP/IMAP da internet, mas com o endereço de POP/IMAP e SMTP
direcionado para o IP do servidor que você acaba de
configurar.

-----------------------------------------------------------------

6. Arquivos de configuração
---------------------------
Eis aqui os arquivos de configuração que serão utilizados.
6.1. /etc/postfix/main.cf
-------------------------
É o principal arquivo de configuração do Postfix. É ele que
controla como o servidor irá se comportar, regras de relay,
onde buscar os dados de usuários, escolher qual o MDA que
irá ser utilizado, os domínios pelos quais o Postfix irá
responder, etc.

6.2. /etc/passwd
----------------
É o arquivo que guarda as senhas e os logins dos usuários de
um servidor UNIX-like. Você deverá cadastrar os usuários no
seu sistema para que você possa disponibilizar uma conta de
e-mail para ele.

6.3. /etc/maildroprc
--------------------
Esse é o arquivo de configuração geral (veja bem, GERAL e
não individual) do maildrop. É nele que estarão contidas as
regras de filtragem e de configuração.

6.4. /var/log/mail.log
----------------------
Esse arquivo é muito, mas muito importante! Ele já salvou a
minha vida inúmeras vezes. Esse arquivo é o arquivo de log
do Postfix. Sempre que você está enviando, recebendo ou
se autenticando, é lá que aparece.

-----------------------------------------------------------------

7. Outros
---------
Aqui é onde eu irei colocar algumas informações sobre o
guia, em geral informações alheias ao assunto normal do
mesmo.

7.1. Sobre esse guia


--------------------
Bom, eu comecei a escrever esse guia porque eu estava com
sérios problemas implementando um servidor de e-mail.
Principalmente porque foi o meu primeiro servidor de e-mail.
Era um servidor de correio interno. Me deram um AMD Duron
1.2 que rodou muito bem.
Fiquei desesperado e pensei que eu iria perder o trabalho
para outra empresa.
Foi então que eu comecei a ler inúmeros how-to's e
documentações. Ia e vinha do site oficial do Postfix tantas
vezes que eu acho que o servidor Apache que hospeda o site
do Postfix deve ter pensado que eu estava fazendo um DoS ou
coisa parecida.
Meu principal problema de início foi que eu não conseguia
entender exatamente o porque do Postfix não estar entregando
as mensagens corretamente. Tentei, tentei e tentei
novamente. Sempre dando erro. Fiz isso incessamente por uma
semana.
Depois disso, passei o final de semana curtindo, já
acostumado com a idéia que eu havia perdido o emprego. Até
que, em um súbito momento... eu lembrei que eu fiz o erro
mais idiota de todos. Não havia especificado no main.cf que
eu queria que o Maildrop entregasse os e-mails!
Idiota, idiota, idiota. Passei raiva durante a semana
inteira só por causa disso. Complicado.
Eu li vários how-to's e guias, mas nenhum me ajudou. Muitas
pessoas gostaram dos meus outros guias e pediram para que eu
escrevesse um sobre servidores de e-mail. E eis o resultado.
Sinceramente, espero que todos gostem do meu guia e que me
mandem e-mails perguntando se não entenderam alguma coisa,
fazendo sugestões ou críticas (construtivas, por gentileza)
e espero também que eu receba alguns depósitos bancários em
minha conta.

7.2. O que você precisa para utilizar esse guia?


------------------------------------------------
Para utilizar esse guia, você precisa:
* Saber ler em português (por enquanto, logo estarei
lançando uma versão em inglês);
* Ter um QI acima de 30;
* Ter uma noção sobre redes em GNU/Linux, ainda que seja
modesta;
* Saber utilizar o sistema em si.

7.3. Sobre o autor


------------------
Para os que não me conhecem, meu nome é Stéfano Martins,
resido na cidade de Pindamonhangaba (UFA! Nominho grande
hein?) - SP e tenho 18 anos.
Tomo conta do servidor da Escola Técnica João Gomes de
Araújo, aqui na minha cidade, onde eu estudei e continuo
estudando.
Escrevo diariamente nos fóruns da underlinux
(http://www.underlinux.com.br) e na lista de discussão
debian-user-portuguese
(debian-user-portuguese@lists.debian.org), além de ser
Community Manager da "Debian GNU/Linux Brazil", comunidade
do Orkut (http://www.orkut.com) destinada à sanar as dúvidas
dos usuários que estão migrando ou que já utilizam a
distribuição Debian faz algum tempo.
Palestrei algumas vezes, sobretudo falando sobre
software-livre, projetos de migrações, redes e Debian.

7.4. Agradecimentos
-------------------
Cássio, meu irmão mais velho, que além de ser o melhor
programador em C/C++ que eu já conheci, é o meu melhor
amigo. Foi ele que me apoiou sempre que eu precisei,
principalmente deixando eu usar o seu computador enquanto o
meu está queimado e não funciona.
Guilherme "semente", grande amigo e help-desk via ICQ,
sempre me ajuda quando eu estou com algum problema
aparentemente insolúvel, fez algumas revisões do guia, sem
falar que é o punk mais cult que eu já conheci!
Yuri Kropotkin, o ucraniano que é o cara que eu mais ajudei
na internet. Você me ajudou a fixar os meus conhecimentos,
sem falar que é um ótimo amigo!
Thiago Klein, professor de GNU/Linux. Sinto que a partir de
um determinado ponto, deixamos de ser aluno e professor e
passamos a ser amigos!
Sofia, grande amiga, sempre me apoiou e sempre se preocupou
com o autor do guia, mesm quando os dois estavam brigados.
Guaraná Piracaia, o qual eu bebi cerca de 30 litros enquanto
eu ia escrevendo esse guia.
Junix, grande amigo carioca que me deu uma mão sobre Postfix
e tirou algumas dúvidas. (Seu tratante, ainda espero a minha
camiseta, hehehe).
Lista de discussão debian-user-portuguese
(debian-user-portuguese@lists.debian.org). Quer tirar uma
dúvida sobre Debian? É para lá que você tem que escrever!
Pessoal da underlinux (http://www.underlinux.com.br). Me
divirto à beça escrevendo no fórum!
William "wrochal" da Rocha, por ter cedido o espaço para os
meus Guias.
E por último, mas não menos importante... Lais, os últimos
dias foram ótimos. Gosto muito de você.
Caso eu tenha esquecido do seu nome, quero ressaltar que eu
não fiz por mal e dedico esse espaço especialmente para que
você escreva seu nome com uma caneta para retro projetor:
______________________________________.
Observação: Caso a tinta não saia do seu monitor, utilize
uma flanelinha com álcool ou jogue um balde de água no
mesmo.

7.5. Referências
----------------
Para escrever esse guia, eu utilizei relativamente poucas
fontes, são elas:
* Documentação oficial do Postfix, disponível em
(http://www.postfix.org/documentation.html);
* "Editor Vi", de Roberto Severo de A. Coelho;
* Minha cuca, disponível acima do meu pescoço, mais
precisamente dentro do meu crânio.

7.6. Críticas? Sugestões? Ajuda?


--------------------------------
Esse guia foi escrito em pouquíssimo tempo. Digamos no
máximo três dias. Infelizmente, eu não posso me dedicar a
isso tanto quanto eu me dedicava antigamente.
O guia ainda não está muito maduro. Para falar a verdade, é
possível que alguns achem que eu mais enchi linguiça
escrevendo o guia do que informando as pessoas.
Muito depende da necessidade e do nível de interesse do
usuário em caçar outras fontes de informação.
É nesse espaço que eu irei deixar os meios que você leitore
pode utilizar para me procurar caso você possua alguma
dúvida, crítica ou sugestão ou ainda queira me ajudar,
enviando algum material. Quero ressaltar que eu só aceito
críticas construtivas!
* UIN - 93736816
* MSN - xsadnessx at hotmail dot com
* Orkut - Procure por Stéfano Martins
* E-MAIL - xstefanox at gmail dot com
* Fóruns - www.underlinux.com.br, www.linuxit.com.br
* Listas de discussão -
(debian-user-portuguese@lists.debian.org)
Por gentileza, nos dois últimos, não entrem e perguntem de
mim, pois a obrigação das pessoas lá não é servir coo um
balcão de informações para a localização de pessoas. Grato!
Por enquanto eu ficaria grato se vocês me enviassem muito
dinheiro e um computdor novo, já que o meu está queimado!
Estou precisando muito de um bom digitador que passe isso
para outros formatos, como .swx, .pdf e .html.
Vocês poderiam simplesmente procurar erros de ortografia que
passaram despercebidos. Só isso já me deixaria extremamente
feliz!
7.7. Atualizações do guia
-------------------------
É claro que eu não escrevi tudo que eu queria aqui. E eu
pretendo encher isso de muito mais informação.
Defini algumas metas também para o desenvolvimento dos
guias. Agora eu vou tentar trabalhar pelo menos 5 horas
semanais no desenvolvimento deles.
O ritmo em que o meu projeto, que começou apenas com Squid e
já contém NIS e agora Postfix também me agrada. Começou com
um assunto e as coisas já estão crescendo. Quem sabe eu
possa lançar isso aqui em um livro daqui a algum tempo.
Todas as pessoas que já leram os meus outros guias, que
pegaram meu MSN ou ICQ para conversar, que me parabenizaram,
que perdiram me ajuda, que eu salvei a vida. É por vocês que
eu continuo com isso, e não para me autopromover (viu
João?).
O guia não tem uma data de lançamento de versões e nem um
cronograma exato.
Vale lembrar que eu quero lançar guias similares a esse, com
outros assuntos, como: Apache, Samba, Radius, Shell-Script,
etc.

7.8. ToDo
---------
As seguintes coisas estão na minha lista de "Coisas a serem
feitas":
* Falar de domínios virtuais;
* Falar de implementações com MySQL;
* Criar versões em outros formatos, como .doc e .pdf;
* Divulgar o guia (já que ele é praticamente um pingüim e um
gnu no ovo e na barriga da dona gnu, respectivamente).

7.9. Links interessantes


------------------------
* http://www.postfix.org - Site oficial do Postfix, possui
grande documentação;
* http://www.courier-mta.org - Site oficial do MTA
Courier-mail e dos seus componentes, como o Maildrop,
Courier-POP e Courier-IMAP.
* http://www.sendmail.org - Site oficial do MTA Sendmail,
com documentações;
* http://cr.yp.to - Site oficial do Dan Bernstein, contém
informações sobre os seus projetos, como o qmail, o djbdns,
etc.
* http://www.exim.org - Site oficial do MTA Exim, com
documentação e mailing lists;
* http://www.linuxit.com.br - Site brasileiro com grande
documentação e um fórum interessante;
* http://www.underlinux.com.br - Site brasileiro com grande
documentação e também com um fórum muito interessante;
* http://squid.linuxit.com.br - Meu site oficial onde você
encontra os meus guias para download;
* http://www.debian.org - Site oficial da distribuição
GNU/Linux Debian, com informações, isos para download, etc.

Você também pode gostar