4D Internet Commands v16Comandos IMAP4, Introdução |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D Internet Commands v16
Comandos IMAP4, Introdução
Comandos IMAP4, Introdução
O conjunto de comandos IMAP4 lhe permite a sua base de dados acessar e manipular mensagens de email em um servidor de correio IMAP e recuperar mensagens eletrônicos de seu servidor IMAP. Os comandos IMAP são compatíveis com o protocolo Internet Message Access, versão 4 revisão 1 (IMAP4 rev1), definido por RFC 2060. IMAP4 rev1 permite a gestão de pastas de mensagens a distancia, chamados "caixas de correio", da mesma maneira que as caixas de correio locais. Os comandos IMAP incluem operações para criar, apagar e renomear caixas de correio, verificar a presença de novas mensagens, eliminar permanentemente mensagens, asinalar e apagar marcadores (flags) mensagens de pesquisa; e recuperar partes de mensagens. Conexão: se refere à sequência completa de interações cliente/servidor IMAP, desde a conexão de rede inicial (IMAP_Login) até o final da conexão (IMAP_Logout). Sessão: se refere à sequência de interações cliente/servidor IMAP desde o momento em que se seleciona uma caixa de correio (IMAP_SetCurrentMB) até o final da conexão (IMAP_SetCurrentMB, IMAP_CloseCurrentMB) ou até que seja fechada a conexão (IMAP_Logout).
Os comandos IMAP se dividem em duas seções: IC IMAP Review Mail (trocadas com o servidor IMAP) e IC Downloaded Mail (tratamento local). Esses comandos foram separados para mostrar os diferentes métodos de leitura de e-mail. Ao ler o email de um servidor IMAP, as mensagens (ou informação das mensagens) podem importar nas estruturas 4D (variáveis, campos, arrays) ou baixar no disco. Esta seção descreve as possibilidades oferecidas por 4D Internet Commands para ler as mensagens de um servidor IMAP. O tamanho dos arquivos a baixar determinam o uso de uma forma ou outra. Por exemplo, um único e-mail contendo um anexo de 5 MB pode facilmente exceder a capacidade de armazenamento do banco de dados. Apenas uma imagem 4D ou um campo BLOB é capaz de armazenar algo deste tamanho, no entanto, a conversão de uma mensagem ou anexo a este formato não é muito eficiente desde o acesso à imagem ou BLOB envolve a mobilização de recursos de memória para o acesso à imagem ou para o BLOB. Para resolver este problema, o comando IMAP_Download transfere as mensagens do servidor IMAP para o disco rígido do usuário.Uma vez importado ao disco, a seção "IC Downloaded Mail" detalha os comandos que se utilizam para manipular arquivos locais. Uma caixa de correio IMAP pode ser lidada como uma pasta e pode conter arquivos e/ou subpastas. Do mesma forma, uma caixa de correio pode conter mensagens e/ou sub caixas de correio. Uma caixa de correio é acessada utilizando seu nome hierárquico completo. Segundo o servidor IMAP, cada nível hierárquico está separado por um separador de hierarquia (um separador devolve utilizando o comando IMAP_ListMBs). Pode utilizar o separador para criar caixas de correios e para buscar os níveis mais altos ou mais baixos da hierarquia de nomes. Todos os filhos de um nível hierárquico principal utilizam o mesmo caráter separador Nota: As mensagens só podem ser administradas uma vez selecionado a caixa de correio de trabalho atual (IMAP_SetCurrentMB). Cada conta pode ter um ou várias caixas de correio. Os nomes de caixas de correio levam em conta as maiúsculas e minúsculas, portanto, não podem ser criados duas caixas de correio com nomes que diferenciam só por ter maiúsculas ou minúsculas. A caixa de correio INBOX é um caso particular: existe em todas as contas e se utiliza para armazenar as mensagens recebidas. O INBOX é criado automaticamente cada vez que uma conta se configura. Um usuário não pode eliminar o INBOX mas pode mudar seu nome. Se decide mudar o nome, é criado imediatamente um novo INBOX vazio. O nome INBOX não leva em conta as maiúsculas e minúsculas. Alguns atributos da caixa de correio, como o número total de mensagens ou de mensagens novos, podem ser tidas, inclusive se a caixa de correio não é o atual. Para o uso dos comandos IMAP, é importante entender completamente os parâmetros numMsg e IDunico. numMsg é o número de uma mensagem na caixa de correio no momento que se executa o comando IMAP_SetCurrentMB. Uma vez selecionado uma caixa de correio atual, as mensagens são numeradas do 1 até o número total de elementos na caixa de correio. Os números assinalados em função da ordem em que as mensagens foram recebidas na caixa de correio, sendo 1 o mais antigo. Os números assinalados às mensagens somente são válidos desde o momento de selecionar a caixa de correio de trabalho atual (IMAP_SetCurrentMB) até que seja fechado (IMAP_CloseCurrentMB, IMAP_SetCurrentMB ou IMAP_Logout). Quando A caixa de correio é fechada, todos as mensagens marcadas para eliminação são apagadas Quando o usuário inicia a sessão de novo no servidor IMAP, as mensagens presentes na caixa de correio são numeradas de novo do 1 ao X. Por exemplo, se tem 10 mensagens na caixa de correio e se as mensagens do 1 ao 5 são eliminadas quando o usuário volta a abrir a caixa, as antigas mensagens 6-10 se tornam as mensagens do 1 ao 5. Por exemplo, vamos ver o seguinte exemplo: conectar-se a um servidor IMAP e obter a seguinte lista de mensagens:
Durante esta sessão, você apaga as mensagens 3 e 4. Ao fechar a caixa de correio de trabalho atual, as eliminações se realizam. Quando volte ao servidor, a lista de mensagens será renumerada desta maneira:
numMsg não é um valor estático e podem variar de uma sessão a outra. Mudará em relação com outras mensagens no momento em que se seleciona na caixa de correio de trabalho atual. Pelo contrário, IDunico é um número único assinalado à mensagem pelo servidor IMAP em uma ordem estritamente ascendente. A medida que cada mensagem é agregada a caixa de correio, lhe é atribuído um identificador mais alto que o da mensagem previamente adicionado. Infelizmente, os servidores IMAP não utilizam o IDunico como referencia principal para suas mensagens. Ao utilizar os comandos IMAP terá que especificar o numMsg como referencia para as mensagens no servidor. Os desenvolvedores devem ter cuidado ao desenvolver soluções que referenciam as mensagens na base de dados, deixando o corpo da mensagem no servidor. Como a característica principal de IMAP é a interoperabilidade, a recomendação final é “Provar TUDO.” É recomendável, provar o cliente com todos os servidores nos que tem conta.
Notas:
|
PROPRIEDADES
Produto: 4D Internet Commands
HISTÓRIA
ARTICLE USAGE
4D Internet Commands ( 4D Internet Commands v16) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||