Você está na página 1de 8

Roteiro de instalação de um servidor de e-mail básico com Postfix e Qpopper

Oliver Gazzola
Vinicius De Gasperi

Este roteiro demonstra os passos necessários para se ter um servidor de e-mail básico em
Linux com suporte a SMPT e POP em um ambiente local. Para isto foram utilizados o
Postfix (http://www.postfix.org/) que é responsável pelo protocolo SMTP e o Qpopper da
Qualcomm (http://www.eudora.com/products/unsupported/qpopper/index.html) que é
responsável pelo suporte ao protocolo POP.

A distribuição Linux utilizada foi a Ubuntu, uma distribuição que vem ganhando bastante
popularidade, principalmente nos desktops. Por ser fortemente baseada em Debian, ela
possui a facilidade de instalação de programas através do aplicativo apt-get. Portanto,
inicialmente foi realizada a instalação do Postfix com o comando:

# apt-get install postfix


# apt-get install postfix ldap
# apt-get install postfix-tsl

Após realizada a instalação, o servidor smtp já possuirá uma configuração básica e estará
definido para inicializar no boot do sistema. Para verificar se o serviço realmente está
disponível e rodando podemos digitar o seguinte comando:

# nmap localhost

Se tudo estiver certo, deverá aparecer o serviço SMTP na porta 25.

PORT STATE SERVICE


25/tcp open smtp

Se tudo correu bem até agora, o servidor smtp está funcionando corretamente, sendo
necessárias algumas poucas configurações para termos as funcionalidades básicas.
O Postfix possui um arquivo principal de configuração, localizado em /etc/postfix/.
O primeiro dele chama-se main.cf e possui as configurações gerais do daemon. As
modificações básicas são as seguintes:

Substituir parâmetro myhostname pelo nome da máquina seguido do domínio.


myhostname = microvini.exemplo.local

Substituir parâmetro mydomain pelo domínio.


mydomain = exemplo.local

Substituir parâmetro mydestination pelos domínios que o servidor é responsável.


mydestination = microvini, localhost.localdomain, localhost, exemplo.local
No parâmetro mynetworks informar as redes do servidor:
mynetworks = 127.0.0.0/8, 10.0.0.0/24

Deixar o parâmetro inet_interfaces da seguinte forma:


inet_interfaces = all

Obs: O diretório /usr/share/postfix/ possui o arquivo main.cf.dist. Neste arquivo de


configuração estão informações que detalham a funcionalidade dos parâmetros do Postfix, é
interessante verificá-lo.

Feitas estas configurações, vamos reinicializar o Postfix:

# postfix stop
# postfix start
# postfix reload

Vamos testar o funcionamento realizando o envio de um e-mail por telnet na porta 25 da


máquina.

# telnet localhost 25

O servidor deverá responder de forma parecida com o que está abaixo:


Obs: O texto em negrito deve ser digitado pelo usuário, o resto são as respostas do servidor.

Trying 127.0.0.1
Connected to localhost.localdomain.
Escape character is ^] .
220 microvini.exemplo.local ESMTP Postfix (Ubuntu)
helo teste
250 microvini.exemplo.local
mail from: mail@teste.com
250 Ok
rcpt to: servidor@exemplo.local
250 Ok
data
354 End data with <CR><LF>.<CR><LF>
subject: telnet
teste
.
250 Ok: queued as C764837449B
quit
221 Bye
Connection closed by foreign host.

Por default, estaremos utilizando o formato mbox, onde as mensagens são armazenadas no
diretório /var/spool/mail em um arquivo com o nome do destinatário.

Até aqui realizamos a instalação do servidor de SMTP, estamos aptos a enviar e-mail na
nossa rede com este servidor. As contas de usuário, neste nosso exemplo, serão os próprios
usuários do Linux, então para adicionar um usuário de e-mail devemos criar um usuário
Linux.

Feito isto, vamos configurar o Qpopper, que será responsável pela entrega dos e-mails
utilizando o protocolo POP.

Inicialmente vamos instalá-lo:

# apt-get install qpopper

No nosso caso, foi necessário realizar a atualização do inetd para o correto funcionamento
do servidor:

# apt-get install inetd

Esta instalação básica já garante a funcionalidade que desejamos. Configurações adicionais


podem ser consultadas e configuradas no arquivo /etc/qpopper.conf.

Para verificar se o serviço está ativo, vamos consultar as portas do sistema:

# nmap localhost

O service deverá aparecer listado, como está exemplificado abaixo:


PORT STATE SERVICE
110/tcp open pop3

Agora, devemos configurar o programa cliente para acessar as contas, utilizando o ip ou o


endereço da máquina servidor como servidor SMTP e POP. Desta forma, estamos aptos a
enviar e receber e-mail na nossa rede local.

A configuração demonstrada neste roteiro é bem simplificada e não utiliza recursos


avançados, mas com algumas configurações adicionais é possível realizar uma maior
controle sobre os dados que trafegam no servidor, como utilizar cotas de disco, controle de
vírus e spam, assim como outras funcionalidades.
UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS
CIÊNCIAS EXATAS E TECNOLÓGICAS
INFORMÁTICA ANÁLISE DE SISTEMAS e CIÊNCIA DA COMPUTAÇÃO

Servidor de E-Mail

Vinicius De Gasperi
Oliver Gazzola

PROFESSOR: Luciano Paschoal

São Leopoldo, 21 de novembro de 2005.


Introdução

Este trabalho tem por objetivo iniciar o conceito de servidor de e-mail junto aos
colegas e demais interessados. Juntamente serão explanados seus agentes,
protocolos e também uma demonstração, bem como sua instalação, de algumas
ferramentas necessárias à criação de um servidor de e-mail.

Servidor de e-mail

O correio eletrônico é uma das aplicações mais populares da Internet e


considerando o crescimento vertiginoso da Internet junto às pessoas nota-se que
o mesmo está sendo usado de forma intensiva, facilitando a comunicação entre
estudantes, funcionários de alguma empresa e até mesmo entre pessoas que se
encontram a uma certa distância, vindo assim a substituir as tão incômodas e
demoradas cartas.
O servidor de e-mail é o responsável por esta comunicação. É ele quem
recebe determinado e-mail e quem é responsável por encaminhar este e-mail para
o destinatário correto, de forma integra, conforme o que foi redigido e sem
alterações do conteúdo do mesmo.
A comunicação entre origem e destino pode se dar passando por mais de um
servidor de e-mail. O destinatário pode enviar um e-mail a um destino o qual
também é suprido pelo mesmo servidor de e-mail, desta forma a mensagem é
enviada e recebida pelo mesmo servidor. Ou, o destino pode estar em outro
servidor de e-mail, assim, o servidor do destinatário envia aquele e-mail para o
servidor do destino, o qual é responsável pelo envio ao destino, havendo assim
uma comunicação entre servidores.
Para realizar estas comunicações o servidor de e-mail utiliza alguns protocolos,
os quais serão descritos a seguir.
Um servidor de e-mails é muito mais do que se enxerga, é muito mais do que
ele aparenta ser. 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.

Agentes

Não existe nenhum servidor de e-mail em que os três itens a seguir não
estejam presentes.

- 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.

- 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
utilizaremos o Qpopper da Qualcomm como MDA.

- Mail User Agent (MUA)

O Mail User Agent (MUA), ou agente de usuário, é o mais numeroso dentre os


vários itens 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, Thunderbird, etc.

Protocolos

SMTP

O Simple Mail Transfer Protocol é o protocolo utilizado por servidores de e-mail


para o envio de mensagens eletrônicas. Este envio pode ser de um agente
usuário, como por exemplo o Outlook ou para outros servidores espalhados na
Internet. Ele usa o serviço de dados confiável TCP. Utiliza duas partes, uma
cliente e outra servidor. Quando a mensagem é enviada de um agente usuário
para um servidor o agente cliente é o cliente e o agente servidor é o próprio
servidor. O servidor pode ser também um cliente quando um servidor manda uma
mensagem para outro servidor, desta forma o servidor que está enviando a
mensagem é o cliente e o que está recebendo é o servidor.

Cenário:

- Uma pessoa chama seu agente usuário (Outlook), fornece o endereço de e-


mail da outra (joao@unisinos.br), compõe a mensagem e manda o agente usuário
enviar a mensagem.
- O agente usuário da pessoa envia a mensagem para seu servidor de e-mail
onde a mesma é colocada em uma fila de mensagens.
- O lado cliente do SMTP da pessoa que está enviando vê a mensagem na fila
e abre uma conexão TCP com o servidor de e-mail do destinatário.
- Após os procedimentos de apresentação, o cliente SMTP envia a mensagem
por meio da conexão TCP.
- o servidor de e-mail do receptor recebe a mensagem, e a coloca na caixa
postal do receptor.
- O receptor chama seu agente usuário para ler a mensagem quando lhe for
conveniente.

Por ser um protocolo bastante antigo, o SMTP possui algumas desvantagens,


por exemplo, ele restringe o corpo de uma mensagem de correio ao formato ASCII
de 7 bits, o que era cabível quando não se enviava e-mails com anexos pesados.
Hoje em dia, com o envio de arquivos com áudio e vídeo, exige-se que os
dados multimídia sejam codificados em ASCII antes de serem enviados e que a
mensagem, em ASCII, seja novamente decodificada depois do transporte pelo
SMTP.
Para enviar diferentes conteúdos como imagens, vídeos, áudio ou textos com
caracteres diferentes do ASCII é necessário incluir dois cabeçalhos Mime
(multipurpose Internet mail extensions extensões multiuso do correio da
Internet). O cabeçalho content-Type permite que o agente usuário destinatário
execute uma ação adequada a mensagem. Por exemplo, se a mensagem contem
uma imagem jpeg, o agente pode dirigir a mensagem a uma rotina de
descompressão jpeg. O cabeçalho content-transfer-enconding alerta o agente
usuário destinatário que o corpo da mensagem foi codificado em ASCII e indica
também a forma de codificação usada, assim podendo formatar o corpo da
mensagem à forma original.
Há ainda um tipo de Mime, multiparte, que permite que sejam atrelados a
mensagem vários objetos e assim cada objeto possui o seu content-Type e
content-transfer-enconding.

POP

O POP (Post Office Protocol) é o protocolo responsável por entregar as


mensagens armazenadas no servidor para o cliente requisitante.
Também baseado em conexão TCP, utiliza-se de 3 etapas. Autorização, onde
o usuário informa nome e senha que será autenticada. Na fase de transação são
recuperada as mensagens, nesta etapa são marcadas também as mensagens que
devem ser apagadas. A etapa de atualização ocorre após o usuário dar o
comando quit encerrando a sessão e apagando as mensagens marcadas
anteriormente.
O POP não é criptografado. Todo o tráfego é feito em texto plano.

IMAP

O IMAP (Internet Message Access Protocol) é uma alternativa ao POP, porém


muito mais segura e muito mais versátil do que o POP. 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.
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. Ele pode apagar as
mensagens, mudá-las de pastas, procurá-las por nome, assunto, remetente.
O agente usuário pode ainda obter apenas parte das mensagens, ou apenas
os cabeçalhos poupando largura de banda e protegendo seu computador. 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.
Como funciona

1 - O usuário redige o seu e-mail em seu computador, utilizando um leitor de e-


mails, como o Outlook.

2 - Depois de enviar a mensagem que ele acaba de redigir, ele da comando


"Enviar" em seu agente usuário.

3 - O MUA começa o seu árduo trabalho de se conectar no servidor SMTP e


entrega o e-mail para o MTA.

4 - O MTA pica a mensagem em vários milhares de pedacinhos 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. Isso depois de trocar figurinhas com
o BIND, para obter o IP daquele domínio.

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, deixa passar a mensagem para o destinatá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 destinatário, faz uma


requisição para um servidor POP ou IMAP que está rodando nessa máquina
puxando assim suas mensagens.

8 - O usuário lê o e-mail.

E é essa a trajetória de um e-mail pela Internet, que ocorre toda vez que um e-
mail é enviado.

POP3 ou
SMTP SMTP Imap

Agente Usuário Agente Usuário


Servidor de Servidor de
e-mail e-mail

Você também pode gostar