1.1 Agentes
MUA - Mail User Agent (Agente de correio do usuário)
São quaisquer dos programas utilizados pelo usuário para ler, responder, compor e dispor de mensagens eletrônicas este cliente conecta-se no servidor que disponibiliza as mensagens e as exibe para o usuário manipula-las. Tal como o Eudora, Outlook, Thunderbird, etc.
MTA - Mail Transport Agent (Agente de transporte de correio)
São programas que se encarregam de entregar mensagens a vários usuários e redirecionar mensagens entre computadores como por exemplo o programa postfix. Estes utilizam o protocolo SMTP.
MDA - Mail Delivery Agent (Agente de entrega de correio)
É o agente responsável pela entrega das mensagens para as caixas de mensagens dos usuários que pode utilizar os protocolos POP ou IMAP. Por exemplo o qpopper da Qualcomm.
1.2 Simple Mail Transfer Protocol (SMTP)
Protocolo padrão para envio de e-mail através da internet. É um protocolo relativamente simples, baseado em texto puro, em que um ou vários destinatários de uma mensagem são especificados (e na maioria dos casos, validados), sendo depois a mensagem transferida. Este protocolo trabalha sobre o porta 25 numa conexão TCP.
A utilização em massa do SMTP remonta aos anos 80. Nesta época era um complemento ao protocolo UUCP que estava melhor adequado para transferências de correio eletrônico entre máquinas sem ligação permanente. Por outro lado, o desempenho do SMTP aumenta se as máquinas envolvidas, emissor e receptor, se encontrarem ligadas permanentemente.
O Sendmail foi um dos primeiros (se não o primeiro) agente de transporte de email a implementar SMTP. E no ano de 2001 já existiam, pelo menos, uns 50 programas que implementavam SMTP como cliente (emissor) ou servidor (receptor).
Dada a especificação inicial, que contemplava apenas texto ASCII, este protocolo não é ideal para a transferência de arquivos. Algumas definições foram desenvolvidas para permitir a transferência de arquivos em formato binário através de texto simples, como é o caso do protocolo MIME (multipupose internet mail extensions - extensões multi-uso do correio da internet). Hoje em dia quase todos os servidores SMTP suportam a extensão 8BITMIME porque com sua limitação o SMTP restringe o corpo de uma mensagem no formato ASCII de 7 bits o que inviabiliza o envio de arquivos de áudio, vídeo, imagens e documentos. O MIME utilizando-se de um cabeçalho content-Type permite que o agente usuário destinatário execute uma ação adequada a mensagem. Por exemplo, se a mensagem contém uma imagem do tipo jpeg, o agente pode dirigir a mensagem a uma rotina de descompressão jpeg. O cabeçalho cotent-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 à mensagem vários objetos e assim cada objeto possui o seu content-Type e content-transfer-enconding.
O SMTP é um protocolo de recepção apenas, não permite que um utilizador descarregue as mensagens de um servidor. Para isso é necessário um cliente de email que suporte POP3 ou IMAP, que é o caso da maioria dos clientes atuais.
1.3 IMAP - Internet Messsage Access Protocol
1.3.1 O que é?
O protocolo IMAP foi originalmente desenvolvido na Universidade de Stanford em 1986. Trata-se de um método de acesso à mensagens eletrônicas armazenadas em um servidor local ou remoto. IMAP quer dizer Internet Message Access Protocol [RFC 2060] e sua versão mais recente é a IMAP4rev1 [RFC 2060].
Através de um programa cliente que envia comandos ao servidor de correio eletrônico que suporta o protocolo IMAP, o usuário pode manipular suas mensagens e pastas (também chamadas de "folders") a partir de computadores diferentes em diversas localidades sem que seja necessário a transferência das mesmas do servidor para o computador de onde se está fazendo o acesso. Assim, as mensagens podem ser acessadas em um notebook durante uma viagem, no micro de casa ou do trabalho etc.
Uma característica importante do IMAP é permitir que a manipulação de mensagens e pastas seja feita como se estivessem no computador local.
1.3.2 Características
O protocolo IMAP4rev1 [RFC 2060] prevê uma variedade de funcionalidades. Além das já oferecidas por protocolos como o POP3, destacam-se:
- Acesso e manipulação de mensagens e de pastas de forma equivalente àquela feita em um acesso local;
- Possibilidade de acesso simultâneo a uma caixa postal compartilhada por mais de um usuário;
- Capacidade para que um programa cliente desconectado ("disconnected") possa sincronizar seu conteúdo (mensagens, pastas e sub-pastas) com o do servidor;
- Ativar e desativar "flags" (marcações que indicam características de uma mensagem), que podem, inclusive, ser definidas pelo usuário. Com o POP3, estas marcações são registradas pelo cliente, de forma que, se a mensagem for aberta por um segundo cliente, as mesmas podem não ter seu "status" indicado corretamente. O IMAP permite a gravação das "flags" junto às caixas-postais, assegurando que, independente de qual cliente se acesse, as mensagens terão as mesmas corretamente atribuídas.
- Capacidade de reconhecer os padrões de mensagens eletrônicas [RFC 822] e MIME-IMB [RFC 2045] em mensagens eletrônicas, de modo que os clientes de e-mail não o necessitem fazer. O servidor IMAP cumpre a tarefa de interpretar estes padrões, tornando os clientes mais fáceis de implementar e o acesso mais "universal";
- Pesquisa de texto em mensagens de forma remota. Este modo de trabalho é feito localmente às caixas-postais;
- A seleção para recebimento dos atributos de uma mensagem, ou seu texto ou anexos e outras partes ("attachments") podem ser feitos de forma independente. Então, o usuário pode pedir para receber de uma mensagem com um grande anexo, apenas a parte do texto que lhe interessa, o que é vantajoso no caso de um acesso discado de baixa qualidade.
1.3.3 Formas de Acesso à Mensagens Eletrônicas
São três as formas possíveis de se trabalhar com correio eletrônico remotamente segundo o documento [RFC 1733]: "online", "offline" e "disconnected". Segue uma breve descrição de cada uma.
No modo de operação "online", as mensagens e pastas ficam armazenadas no servidor, e o usuário as manipula remotamente através do programa cliente de correio eletrônico, com a possibilidade de criar, renomear, apagar e mover pastas, ativar marcações (possivelmente customizadas) em mensagens, receber, seletivamente, partes de mensagens, dentre outras facilidades.
O modo de operação "offline" é o mais conhecido e mais antigo modo de acesso remoto à mensagens proporcionado pelo protocolo POP3 [RFC-918] e suportado por, praticamente, todos os programas clientes de correio eletrônico no mercado. Neste modo, o programa transfere o pacote de novas mensagens do servidor para o computador do usuário e as apaga da sua origem, passando então, todo o processamento de mensagens para o computador local do usuário, inclusive as informações sobre o "status" das mensagens (se a mesma foi respondida, por exemplo) passam a ser mantidas pelo programa cliente.
O modo de operação "disconnected" é comumente confundido com o modo "offline" de acesso. No entanto, neste modo, o programa do usuário faz uma copia "cache" das suas mensagens e desconecta-se do servidor, ou seja, o usuário fica com copias de suas mensagens tanto no computador local quanto no servidor. Em um momento, posterior, após ter feito diversas operações, o usuário conecta-se novamente e faz uma sincronização das mensagens "cacheadas" localmente com o conjunto armazenado no servidor, atualizando todas as modificações feitas no seu conjunto de mensagens e pastas.
Aqui, cabem alguns comentários. Para o usuário que vai sempre utilizar o mesmo computador para acessar suas mensagens, o modo "offline", também proporcionado pelo protocolo POP3, é o suficiente para atender suas necessidades. O modo de operação "offline" também permite a opção de deixar as mensagens originais no servidor após terem sido copiadas para o computador do usuário. Porém, este método ainda deixa a desejar em relação as facilidades oferecidas pelos modos "online" e "disconnected", além da otimização de transmissão suportados pelo IMAP.
As vantagens do modo "offline" são dadas pelo uso mínimo do tempo de conexão com o servidor e de recursos do mesmo. Já o modo "online" possibilita a utilização de computadores "data-less", como por exemplo, em laboratórios universitários e em computadores de uso público em geral; permite o acesso, independente de plataforma, à múltiplas pastas; além de possibilitar o acesso simultâneo as pastas compartilhadas com um ou mais usuários, como, por exemplo em um serviço de help desk.
A questão chave é a possibilidade do usuário acessar remotamente sua caixa postal e suas pastas armazenadas em um servidor, de modo uniforme, a partir de diferentes computadores em momentos diferentes sem depender de protocolos de sistemas de arquivos que não estão disponíveis em todas as plataformas e que podem trazer diversos tipos de problemas no acesso simultâneo a um mesmo arquivo ou pasta.
Este conceito de operação pode ser considerado um luxo desnecessário para quem acessa sua caixa postal sempre do mesmo computador, uma vez que tal perfil de usuário tende a não fazer uso dos recursos mais avançados do servidor IMAP.
1.3.4 Exemplos de Problemas e as Soluções IMAP
Por exemplo, quem nunca viu um usuário que faz acesso discado para acessar sua caixa postal não conseguir receber todas as mensagens porque alguém o enviou uma mensagem com um arquivo anexado ("attachment") que era tão grande que a ligação demoraria horas para a mensagem ser transferida? Neste caso, mesmo que o usuário se aventure a fazer a transferência, é grande a probabilidade que a ligação se desfaça antes da mesma terminar, impedindo-o de receber novas mensagens enquanto esta grande não for transferida.
Este é um problema típico do protocolo POP3, que não permite ao usuário escolher quais mensagens ele deseja receber.
O protocolo IMAP oferece duas soluções a este problema. Ao acessar a sua caixa postal (INBOX) o usuário pode receber, inicialmente, uma listagem com os cabeçalhos ("headers") das mensagens presentes na mesma. Desta forma, o usuário pode selecionar aquelas que ele deseja que o servidor IMAP envie para o seu computador local, baseado em seu interesse e bom-senso.
A segunda facilidade é a de permitir ao usuário escolher que PARTE da mensagem ele deseja receber. Se assim desejar, o usuário pode pedir para receber somente a parte de texto de uma com um grande anexo e não receber o(s) arquivo(s) anexado(s) e vice-versa.
Desta forma, o usuário não fica impedido de acessar suas mensagens, mesmo tendo recebido uma muito grande para ser transferida por linhas telefônicas de baixa qualidade, economizando tempo, dinheiro e, possivelmente, suporte técnico do seu provedor.
1.4 POP - Post Office Protocol
Protocolo para transferência de mensagens entre servidores e clientes. As mensagens são entregues a um servidor compartilhado. Computadores pessoais se conectam periodicamente a este servidor e descarregam as mensagens para a máquina cliente.
Ideal para uso doméstico, móvel, e para equipamentos sem conexão permanente à Internet.
Servidores disponíveis para várias plataformas (Unix, WinNT, Win95, OpenVMS, Macintosh). No ambiente Unix, o mais popular é o servidor qpopper, mas existem muitos outros como por exemplo o procmail.