Artigo: O protocolo SMTP e sua configuracao em um ambiente UNIX-LIKE

Júnio Vitor de Paula juniovitor@hotmail.com
Denise Rodarte deniserodarte@hotmail.com
João Bernardo Moreira Adami joaozinhoadami@hotmail.com

Alunos do curso de Análise e Desenvolvimento de Sistemas do

CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE BAMBUÍ

RESUMO

Na ultima década, com a explosão da internet no mundo, as pessoas e organizações estão cada vez mais envolvidas e dependentes das soluções oferecidas pela Tecnologia da Informação (TI). Todos se beneficiam de diversas formas, dentre elas, destaca-se a comunicação entre computadores, em especial o correio eletrônico, mais conhecido como e-mail, que tem como base de funcionamento alguns protocolos de comunicação de dados. Dentre estes protocolos, destaca-se o SMTP (Simple Mail Transfer Protocol), que é o responsável em fazer com que as mensagens de e-mail sejam enviadas e recebidas. O presente trabalho mostra detalhadamente, o funcionamento do SMTP e como se configura este protocolo em um ambiente UNIX-LIKE.

Palavras chave: SMTP, protocolos, POP, IMAP, Postifix, MUA, MTA.

INTRODUÇÃO

Nos tempos atuais de constantes mudanças cada vez mais aceleradas, uma das principais armas das empresas é a Tecnologia da Informação (TI), recurso estratégico para a vantagem competitiva e, portanto, para a sua própria sobrevivência.

A TI tem se desenvolvido bastante nos últimos anos. Destaca-se, a evolução dos meios de comunicação entre computadores, portanto, são cada vez menores as diferenças entre coleta, transporte, ar­mazenamento e processamento de informações. Organizações com centenas de escritórios dispersos por uma extensa área geográfica podem, com um simples apertar de um botão, examinar o status atual de suas filiais mais remotas. A medi­da que cresce nossa capacidade de obter, processar e distribuir informações, torna-se ainda maior a demanda por formas de processamento de informações ainda mais sofisticadas. STALLINGS (2005).

O correio eletrônico também conhecido como e-mail é um dos principais meios de transferência de mensagens via internet, é uma ferramenta simples e de grande utilidade.

Para que as transferências de mensagens possam ocorrer, é necessário o uso de protocolos de comunicação de dados. O artigo apresentado relata especialmente um dos protocolos essenciais, denominado SMTP (Simple Mail Transfer Protocol) e também como se configura este protocolo em um servidor UNIX-LIKE.

DESENVOLVIMENTO

Quando se fala em protocolos, logo pensamos em um uma série de padrões e regras para a execução de alguma tarefa específica. Na área da computação definimos os protocolos como um padrão de conexão de uma rede de computadores para transmissão de dados, utilizando as regras e padrões do protocolo definido.

Dentre os principais protocolos de e-mail, temos o SMTP (Simple Mail Transfer Protocol – Protocolo Simples para Transferência de Correio), que segundo BÄCK et al. (2007) é o protocolo mais importante. Seu principal objetivo é transmitir mensagens de e-mail entre dois computadores. Estes computadores podem ser ambos servidores, ou um deles pode ser uma máquina cliente em que os usuários utilizam aplicativos de e-mail como Outlook, Thunderbird ou qualquer outro.

Conforme MEDRADE (2005),

“O Protocolo SMTP é baseado em comandos (enviados pelo cliente) e respostas (enviadas pelo servidor). Todos os comandos SMTP geram uma resposta, e é considerada uma violação do protocolo SMTP o envio de um comando antes que o servidor dê a resposta do comando anterior.”

O SMTP não permite que um usuário, por exemplo, descarregue as mensagens de um servidor. Para que isso seja possível, é necessário um cliente de e-mail que dê suporte ao POP ou IMAP.

O POP (Post Office Protocol) conhecido como o protocolo mais antigo, se concentra em fornecer acesso aos usuários às suas caixas de entrada, possibilitando o download de novas mensagens, excluindo-as automaticamente do servidor, ao contrário do IMAP (Internet Message Access Protocol) que foi projetado para permitir que o usuário armazene suas mensagens permanentemente no servidor.

Pela grande importância e por ser o tema principal deste artigo, daremos um enfoque maior ao SMTP. De acordo com GAMITO e OLIVEIRA (2003), sem este protocolo não teríamos a troca de mensagens via correio eletrônico, por esta tão grande importância, pode-se considerar que este protocolo é o mais utilizado na transferência de mensagens via internet. Seu propósito é simples, transferir mensagens entre servidores, servindo-se de uma linguagem bem simples, mais eficaz, em que o servidor emissor da mensagem questiona algo ao servidor receptor e este responde.

De uma forma mais detalhada, essa transferência de mensagens acontece envolvendo dois manipuladores de correio eletrônico que são eles: o agente de usuário (MUA – Mail User Agent) e o agente de transferência (MTA – Mail Transport Agent). O MUA permite que o usuário interaja mais facilmente com a interface de correio possibilitando que ele escreva a mensagem e a envie. Já o agente de transferência é o responsável por fazer o envio desta mensagem ao host de destino, seguindo as regras do protocolo definido para esse tipo de operação.

Quando o usuário escreve uma mensagem, normalmente ela possui um cabeçalho, e neste podem estar definidos um ou vários endereços de entrega. O servidor do correio eletrônico pode ter uma ou várias mensagens para ser enviadas. Assim, essas mensagens são enfileiradas, com seus respectivos cabeçalhos, e ficam esperando à hora de serem enviadas. Então, como já foi dito anteriormente, o protocolo SMTP é o responsável pela transferência das mensagens, em outras palavras, ele é responsável por fazer a transferência da mensagem do emissor SMTP para o receptor SMTP.

Sendo assim o emissor SMTP coleta as mensagens que estão esperando na fila e as envia ao host de destino, onde existe um receptor SMTP. Este processo ocorre através de uma ou várias conexões TCP. Então, o receptor SMTP verifica o cabeçalho de cada mensagem e faz a entrega ao seu ou aos seus respectivos hosts de destino.

De acordo com Stallings (2005),

“Um host pode ter vários emissores SMTP ativos simultaneamente, se tiver um grande volume de correio de saída, e também deve ter a capacidade de criar receptores SMTP por demanda, de modo que o correio de um host não atrase o correio do outro.”

Para a configuração do protocolo SMTP em um servidor UNIX-LIKE, é necessário a utilização de um MTA, e para isso escolhemos o Postfix. A escolha foi baseada devido ao amplo conjunto de recursos, excelente segurança, rapidez e por ser bem simples de configurar.

O Postfix é um MTA (Mail Transport Agent) gratuito que não fornece serviços que permitem aos usuários coletarem seus correios via POP, IMAP e outros. Para tal tarefa você pode integrar ao Postfix, o Courier ou Cyros (clientes de e-mail).

Instalando e configurando o Postfix

Segundo MOSMANN (2003), o Postfix se configura da seguinte forma:

Primeiramente, deve-se ter instalado na máquina (servidor), o Postfix. É necessário baixar os pacotes do Postfix de acordo com a distribuição LINUX. Esta configuração se baseia na distribuição RedHat.

Para acessar o Postfix, entre como usuário root com as seguintes linhas de comando:

# rpm -ivh postfix-doc-20010228pl08-10cl.i386.rpm

Configurando o Postfix

Após a instalação dos pacotes necessários, entre no diretório /etc/postfix (cd /etc/postfix) e, utilizando um editor de textos, edite o arquivo main.cf, por exemplo:

# mcedit main.cf

Faça as seguintes alterações:

Na linha que contiver “myhostname” (linha 69), descomente-a e acrescente seu hostname. Exemplo:

#myhostname = host.domain.name

myhostname = denise.opensource.com.br

Na linha que contiver “mydomain” (linha 77), coloque apenas o domínio, exemplificando;

#mydomain = opensource.com.br

Na linha que contiver “myorigin” (linhas 88 e 89), mantenha comentado “myhostname” e descomente “mydomain”, por exemplo:

#myorigin = $myhostname

#myorigin = $mydomain

#myorigin = $myhostname

myorigin = $mydomain

Na linha que contiver “inet_interfaces” (linhas 98, 99, 100), a configuração dependerá de quais hosts terão acesso à Internet e aqueles que não acessarão. Será desta maneira:

A. Se todos os nós da rede irão acessar a Internet, mantenha como “all”:

inet_interfaces = all

#inet_interfaces = $myhostname

#inet_interfaces = $myhostname, localhost

B. Se apenas algumas máquinas acessarão, faça as seguintes mudanças. Em “inet_interfaces = all”, apague “all” e coloque a faixa de IPs que terão direito de conectar-se à Internet. Abaixo será apresentado um exemplo;

#inet_interfaces = 192.168.100.1, 192.168.100.10, 192.168.100.23

Na linha que contiver “mydestination” (linhas 125, 126, 127), descomente uma das linhas, sendo aconselhável ser escolhida a terceira linha. Por exemplo:

#mydestination = $myhostname, localhost.$mydomain

#mydestination = $myhostname, localhost.$mydomain, $mydomain

mydestination = $myhostname, localhost.$mydomain, $mydomain, mail.$mydomail, www.$mydomain, ftp.$mydomainmydestination

Na linha que contiver “relay_domains” (linha 202), troque “$mydestinations” por “$mydomain” e descomente a linha. Como o modelo abaixo:

#relay_domains = $mydestination

relay_domains = $mydomain

Aqui termina a configuração do arquivo main.cf . Feita estas alterações, deve-se reinicializar o Postfix. Para efetuar esta ação utilizamos os seguintes comandos e parâmetros:

# service postfix stop

# service postfix start

# service postfix reload

Para verificar os erros ocorridos, dê a seguinte linha de comando:

# tail -f /var/log/maillog

O próximo passo é dar as permissões necessárias para execução, escrita e leitura do arquivo, faça deste modo:

# cd /var/spool

# chown postfix.postfix -Rvf postfix

Para que possa receber as mensagens eletrônicas em um cliente de correio eletrônico será preciso o inetd. Faça assim:

# service inet start

Por questões de segurança, deve-se criar um apelido (aliases) para sua conta root de correio eletrônico, execute as seguintes linhas de comandos:

# mcedit /etc/postfix/aliases

Altere a seguinte linha:

root = root

para

root = denise

Salve as alterações, saia do editor e dê o seguinte comando:

# newaliases

Pronto, Postfix está configurado, agora é só criar as contas de usuários.

CONCLUSÃO

O artigo apresenta de forma simples e bem detalhada a configuração de um servidor de correio eletrônico. Mostra também como é importante ter um padrão de transferência de mensagens. O SMTP destaca-se por ser um dos protocolos mais utilizados e também por executar tarefas de maneira rápida e garantindo a segurança dos dados.

Por fim, percebe-se que para a configuração de um servidor de correio eletrônico, somente com o Postifix e o protocolo SMTP não é suficiente, é necessário a integração de um cliente de e-mail que pode ser o Cyrus ou Courrier, que permite aos usuários o acesso à sua caixa de entrada através dos protocolos POP, IMAP e outros.

REFERÊNCIAS BIBLIOGRÁFICAS

BACK, M.; KOETTER, P. B.; et al. Servidor de e-mail LINUX: guia de instalação, configuração e gerenciamento para pequenos escritórios. São Paulo: Pearson Prentice Hall, 2007.

GAMITO, M.; OLIVEIRA, R. Como instalar um servidor completo de e-mail. Lisboa: FCA – Editora de Informática Ltda., 2003.

MEDRADE, Davi. Protocolo SMTP (ou “Como enviar e-mails usando o Telnet”). 2005. Disponível em: <http://www.linhadecodigo.com.br/Artigo.aspx?id=617>. Acesso em: 24 nov. 2007.

MOSMANN, A.; Como configurar o servidor de correio eletrônico Postfix. (2003). Disponível em:

< http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=189> Acesso em: 25 nov. 2007.

STALLINGS, W.; Redes e sistemas de comunicação de dados: teoria e aplicações corporativas. 5. ed. Rio de Janeiro: Campus, 2005. xvi 449 p., il. ISBN 8535217312 (broch.).

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *


Por favor, utilize o captcha para tornar mais seguro o seu comentário!

Por favor, digite os caracteres desta imagem na caixa de entrada