# Internet Message Access Protocol

IMAP (Internet Message Access Protocol. Traduzido do inglês, significa "Protocolo de acesso a mensagem da internet") é um protocolo de gerenciamento de correio eletrônico.
Utiliza, por padrão, as portas TCP 143 ou 993 (conexão criptografada via SSL). O mais interessante é que as mensagens ficam armazenadas no servidor e o utnantes. Por outro lado, apresenta algumas limitações:

## Vantagens sobre o POP
### Modos conectados e desconectados

Ao usar o POP, os clientes geralmente se conectam brevemente ao servidor de e-mail, apenas o tempo necessário para baixar novas mensagens. Ao usar o IMAP4, os clientes geralmente permanecem conectados desde que a interface do usuário esteja ativa e baixem o conteúdo da mensagem sob demanda. Para usuários com muitas ou grandes mensagens, esse padrão de uso IMAP4 pode resultar em tempos de resposta mais rápidos.

### Vários clientes simultâneos

O protocolo POP exige que o cliente atualmente conectado seja o único cliente conectado à caixa de correio. Por outro lado, o protocolo IMAP permite especificamente o acesso simultâneo de vários clientes e fornece mecanismos para que os clientes detectem as alterações feitas na caixa de correio por outros clientes conectados simultaneamente. Veja, por exemplo, a RFC3501, seção 5.2, que cita especificamente "acesso simultâneo à mesma caixa de correio por vários agentes" como exemplo.

### Acesso a partes de mensagens MIME e busca parcial

Normalmente, todos os emails da Internet são transmitidos no formato MIME , permitindo que as mensagens tenham uma estrutura em árvore, onde os nós folha são de vários tipos de conteúdo de peça única e os nós não folha são de vários tipos de várias partes. O protocolo IMAP4 permite que os clientes recuperem qualquer uma das partes individuais do MIME separadamente e também recuperem partes de partes individuais ou de toda a mensagem. Esses mecanismos permitem que os clientes recuperem a parte do texto de uma mensagem sem recuperar os arquivos anexados ou transmitam o conteúdo conforme ele está sendo buscado.

### Informações sobre o estado da mensagem

Através do uso de sinalizadores definidos no protocolo IMAP4, os clientes podem acompanhar o estado da mensagem: por exemplo, se a mensagem foi ou não lida, respondida ou excluída. Esses sinalizadores são armazenados no servidor; portanto, clientes diferentes que acessam a mesma caixa de correio em momentos diferentes podem detectar alterações de estado feitas por outros clientes. O POP não fornece mecanismo para que os clientes armazenem essas informações de estado no servidor; portanto, se um único usuário acessar uma caixa de correio com dois clientes POP diferentes (em momentos diferentes), as informações de estado - como se uma mensagem foi acessada - não poderão ser sincronizadas entre os clientes. O protocolo IMAP4 suporta sinalizadores de sistema predefinidos e palavras-chave definidas pelo cliente. Os sinalizadores do sistema indicam informações de estado, como se uma mensagem foi lida. Palavras-chave, que não são suportadas por todos os servidores IMAP,tags cujo significado depende do cliente. As palavras-chave IMAP não devem ser confundidas com rótulos proprietários de serviços de email baseados na Web , que às vezes são traduzidos em pastas IMAP pelos servidores proprietários correspondentes.

### Várias caixas de correio no servidor

Os clientes IMAP4 podem criar, renomear e / ou excluir caixas de correio (geralmente apresentadas ao usuário como pastas) no servidor e copiar mensagens entre caixas de correio. O suporte a várias caixas de correio também permite que os servidores forneçam acesso a pastas compartilhadas e públicas. A extensão da lista de controle de acesso IMAP4 (ACL) ( RFC 4314 ) pode ser usada para regular os direitos de acesso.

### Pesquisas no servidor

O IMAP4 fornece um mecanismo para um cliente solicitar ao servidor que procure mensagens que atendam a vários critérios. Esse mecanismo evita exigir que os clientes baixem todas as mensagens na caixa de correio para realizar essas pesquisas.

### Mecanismo de extensão embutido

Refletindo a experiência de protocolos anteriores da Internet, o IMAP4 define um mecanismo explícito pelo qual ele pode ser estendido. Muitas extensões IMAP4 ao protocolo base foram propostas e são de uso comum. O IMAP2bis não tinha um mecanismo de extensão e o POP agora possui um definido pelo RFC 2449.
Por que o IMAP é tão complexo?
O servidor POP3 espera até que um usuário faça logon e então transfere o mensagens não lidas que são salvas na caixa de correio desse usuário para o e-mail do usuário cliente. Dependendo dos requisitos do cliente, as mensagens são excluídas após a transferência para economizar espaço, ou sinalizado como lido e retido.
Isso não é particularmente exigente, por isso não há muito que possa dar errado com o software aqui. Um servidor IMAP funciona de forma diferente: não só entrega e-mails aos usuários, ele também organiza toda a administração de e-mail do usuário final. O e-mail do usuário cliente agora funciona como uma espécie de “controle remoto” para manipular o caixa de correio armazenada no servidor. Um servidor IMAP fornece espaço de armazenamento e armazena todos os e-mails. Por esta razão, faz sentido usar cotas, que forçam os usuários a limpar ocasionalmente e liberar espaço valioso. Quando um usuário cria pastas para seu e mails, o servidor IMAP tem que representar esta estrutura de pastas e ordenar os e-mails correspondentes. O IMAP também permite que os usuários pesquisem mensagens por remetentes ou texto especificados e sinalizar e-mails, por exemplo, como lidos, não lidos ou respondidas.
Os usuários também podem acessar pastas compartilhadas em paralelo. Um servidor IMAP permite que um usuário gerencie uma caixa de correio de diferentes computadores; o conteúdo da caixa de correio consiste sempre nos mesmos registros de dados não importa de onde seja acessada, e a caixa de correio não precisa ser sincronizado entre as máquinas. Todos esses recursos exigem muito do protocolo IMAP e do programador. A configuração de um servidor IMAP não requer muita atenção do administrador assim que o servidor estiver conectado a um banco de dados do usuário. No entanto, a operação dos servidores IMAP contém algumas armadilhas e dificuldades técnicas, que examinaremos neste livro: atuação À medida que o número de usuários aumenta, a carga no servidor IMAP se torna perceptível.
Em uma grande organização, o servidor precisa gerenciar milhões de e-mails, operar centenas ou milhares de conexões IMAP em paralelo, e lidar com pesquisas de e-mail e cópias extensas ações. Dependendo do cenário, os servidores IMAP podem consumir RAM ou criar altas cargas de E/S nos suportes de dados. Disponibilidade Hoje em dia, o e-mail precisa estar disponível 24 horas por dia, pois qualquer interrupção pode colocar em risco os negócios. Uma vez que um certo número de usuários foi alcançado, a infra estrutura deve ser protegida usando vários servidores, mesmo que um servidor IMAP robusto tenha sido selecionado. Armazenar O armazenamento de e-mail pode aumentar para proporções consideráveis, o que requer o uso de um NAS ou SAN.
Além disso, quando um servidor IMAP faz parte de um cluster de servidor, não é mais suficiente usar um disco rígido conectado diretamente disco para armazenamento. Cotas Implementar restrições de armazenamento como cotas nem sempre é fácil e requer um planejamento preciso. Situação Jurídica Os e-mails estão sujeitos às leis de privacidade das comunicações. Não muitas pessoas estão cientes de que os administradores podem ser processados ​​por negligência. No entanto, este é um problema geral com todo o gerenciamento de e-mail, e este livro não tratará mais do assunto.