4D Internet Commands v16

IMAP_Search

Página Inicial

 
4D Internet Commands v16
IMAP_Search

IMAP_Search 


 

IMAP_Search ( imap_ID ; criterioPesq ; arrayNumMsg ) -> Resultado 
Parâmetro Tipo   Descrição
imap_ID   Inteiro longo in Referencia de conexão IMAP
criterioPesq  Texto in Critério de pesquisa
arrayNumMsg  Array inteiro longo in Array dos números de mensagens
Resultado  Inteiro in Código de erro

O comando IMAP_Search busca as mensagens que correspondem aos critérios definidos na caixa de correio atual. O parâmetro criterioPesq contém uma ou mais palavras chaves de pesquisa.
arrayNumMsg
devolve a lista dos números das mensagens encontradas pela pesquisa.

imap_ID
contém a referencia de uma sessão aberta com IMAP_Login.

criterioPesq contém uma ou mais palavras chaves de pesquisa (ver “Palavras chaves de pesquisa” ao final deste parágrafo) associado ou não aos valores de pesquisa. Um critério de pesquisa pode ser uma palavra chave simples ou uma lista de palavras chaves entre parênteses. Por exemplo:

Palavrachave1 = FLAGGED
Palavrachave2 = NOT FLAGGED
Palavrachave3 = FLAGGED DRAFT

Nota: Geralmente, a pesquisa não leva em conta as maiúsculas e minúsculas.

  • Se o parâmetro criterioPesq é uma cadeia vazia, a pesquisa será equivalente a “selecionar todos”:
     IMAP_Search(imap_ID;"";arrayNumMsg)

    ... devolve todos as mensagens da caixa de correio atual.
  • Se o parâmetro criterioPesq contém várias palavras chaves de pesquisa, o resultado é a intersecção (função Y) de todos as mensagens que contém essas palavras chaves.
    criterioPesq = FLAGGED FROM "SMITH"
    ... devolve todos as mensagens com o marcador \Flagged Y enviados por Smith.
  • Pode utilizar os operadores OR ou NOT:
    criterioPesq = OR SEEN FLAGGED
    ... devolve todos as mensagens com o marcador \Seen ou \Flagged
    criterioPesq = NOT SEEN
    ... devolve todos as mensagens sem o marcador \Seen.
    criterioPesq = HEADER CONTENT-TYPE "MIXED" NOT HEADER CONTENT-TYPE "TEXT"...
    ... devolve todos as mensagens onde o cabeçalho content-type contém o tipo “Mixed” e não contém “Text”.
    criterioPesq = HEADER CONTENT-TYPE "E" NOT SUBJECT "ou" NOT HEADER CONTENT-TYPE "MIXED"
    ... devolve todos as mensagens onde o cabeçalho content-type contém o tipo “e” e onde o cabeçalho Assunto, não contém “ou” e onde o cabeçalho content-type não é “Mixed”.
    criterioPesq = OR (ANSWERED SMALLER 400) (HEADER CONTENT-TYPE "E" NOT SUBJECT "ou" NOT HEADER CONTENT-TYPE "MIXED")
    ... devolve todos as mensagens correspondentes a primeira lista de palavras chaves entre parênteses OU a segunda lista.
    criterioPesq = OR ANSWERED SMALLER 400 (HEADER CONTENT-TYPE "E" NOT SUBJECT "ou" NOT HEADER CONTENT-TYPE "MIXED")
    ... devolve todos as mensagens com o marcador \Answered OU cujo tamanho é menor a 400 bytes E cumpram com os critérios definidos na lista entre parênteses.

Nos dois últimos exemplos, o resultado obtido é diferente quando elimina os parênteses da primeira lista de palavras chaves.

  • O parâmetro criterioPesq pode conter opcionalmente a instrução [CHARSET]. Esta instrução está composta da palavra "CHARSET" seguida por um conjunto de caracteres definido [CHARSET] (US ASCII, ISO-8859). Isto indica o charset da cadeia criterioPesq. Portanto, deve converter a cadeia de pesquisa no conjunto de caracteres especificado se utiliza a instrução [CHARSET] (ver o comando de 4D Mac to ISO).
    Por padrão, 4D Internet Commands codifica a cadeia de critérios de pesquisa em "Quotable Printable" se a cadeia contém caracteres estendidos.
    criterioPesq = CHARSET "ISO-8859" BODY "Help"
    ... significa que o critério de pesquisa utiliza o charset iso-8859 e que o servidor deverá converter a cadeia antes de começar a pesquisa, caso seja necessário.

As palavras chaves de pesquisa podem tratar valores dos seguintes tipos:

  • Valores de tipo data

Os valores de tipo <data> devem ter este formato: dia+"-"+mês+"-"+ano, onde dia indica a data do dia no mês (máx. 2 caracteres), mês indica o mês (Jan/Fev/Mar/Abr/Mai/Jun/Jul/Agos/Set/Out/Nov/Dez) e ano indica o ano em 4 caracteres.

Exemplo: criterioPesq = SENTBEFORE 1-Feb-2000 (geralmente não é necessário colocar entre aspas uma data já que não contém caracteres especiais)

  • Valores de tipo cadeia

Os valores de tipo <cadeia> podem conter todo tipo de caracteres e devem estar entre aspas. Se a cadeia não contém caracteres especiais, como espaços por exemplo, não necessita as aspas. As aspas lhe permitem garantir que a cadeia seja interpretada corretamente.

Exemplo: criterioPesq = FROM "SMITH"

Nota: As pesquisas baseadas em cadeias de caracteres são de tipo "contém": se o campo de uma mensagem contém pelo menos a cadeia procurada, encontra a mensagem. A pesquisa não leva em conta as maiúsculas e minúsculas.

  • Nomes de campos

Os valores de tipo <nome de campo> contém o nome de um campo de cabeçalho.

Exemplo: criterioPesq = HEADER CONTENT-TYPE "MIXED"

  • Marcadores

Os valores de tipo <marcador> aceitam uma ou várias palavras chaves (incluindo os marcadores estandarte), separadas por espaços.

Exemplo: criterioPesq = KEYWORD \Flagged \Draft

  • Conjunto de mensagens
Os valores deste tipo designam um conjunto de mensagens. Contém uma lista de números de mensagens em uma ordem ascendente, de 1 ao número total de mensagens na caixa de correio.
Os números estão separados por vírgulas; dois pontos indica um intervalo de números.

Exemplos:
2,4:7,9,12:* representa as mensagens 2,4,5,6,7,9,12,13,14,15 para uma caixa de correio com 15 mensagens.

criterioPesq = 1:5 ANSWERED procura entre as mensagens 1 a 5 os que tem o marcador \Answered.

criterioPesq = 2,4 ANSWERED procura entre as mensagens 2 e 4 as mensagens com o marcador \Answered.

ALL: todos as mensagens na caixa de correio.

ANSWERED: mensagens com o marcador \Answered.

UNANSWERED: mensagens que não tem o marcador \Answered.

DELETED: mensagens com o marcador \Deleted.

UNDELETED: mensagens que não tem o marcador \Deleted.

DRAFT: mensagens com o marcador \Draft.

UNDRAFT: mensagens que não tem o marcador \Draft.

FLAGGED: mensagens com o marcador \Flagged.

UNFLAGGED: mensagens que não tem o marcador \Flagged.

RECENT: mensagens com o marcador \Recent.

OLD: mensagens que não tem o marcador \Recent.

SEEN: mensagens com o marcador \Seen.

UNSEEN: mensagens que não tem o marcador \Seen.

NEW: mensagens com o marcador \Recent e o marcador \Seen. Equivale a “(RECENT UNSEEN)”.

KEYWORD <marcador>: mensagens com a palavra chave especificada.

UNKEYWORD <marcador>: mensagens que não tem a palavra chave especificada.

BEFORE <data>: mensagens cuja data interna é anterior a data especificada.

ON <data>: mensagens cuja data interna é igual a data especificada.

SINCE <data>: mensagens cuja data interna é igual ou posterior à data especificada.

SENTBEFORE <data>: mensagens cujo cabeçalho Data é anterior à data especificada.

SENTON <data>: mensagens cujo cabeçalho Data é igual à data especificada.

SENTSINCE <data>: mensagens cujo cabeçalho Data é igual ou posterior à data especificada.

TO <cadeia>: mensagens que contém a cadeia especificada no cabeçalho PARA.

FROM <cadeia>: mensagens que contém a cadeia especificada no cabeçalho DE.

CC <cadeia>: mensagens que contém a cadeia especificada no cabeçalho CC.

BCC <cadeia>: mensagens que contém a cadeia especificada no cabeçalho BCC.

SUBJECT <cadeia>: mensagens que contém a cadeia especificada no cabeçalho Assunto.

BODY <cadeia>: mensagens onde o corpo contém a cadeia especificada.

TEXT <cadeia>: mensagens que contém a cadeia especificada no cabeçalho ou no corpo.

HEADER <field-name> <cadeia>: mensagens onde o cabeçalho contém o campo definido e este campo contém a cadeia definida.

UID <ID único da mensagem>: mensagens onde o número único corresponde ao valor especificado.

LARGER <n>: mensagens com um tamanho superior ao tamanho especificado.

SMALLER <n>: mensagens com um tamanho em bytes inferior ao tamanho especificado.

NOT <critério>: mensagens que não correspondem ao critério especificado.

OR <critério1> <critério2>: mensagens que correspondem ao primeiro ou segundo critério especificado.



Ver também 

IMAP_GetFlags
IMAP_SetFlags

 
PROPRIEDADES 

Produto: 4D Internet Commands
Tema: IC IMAP Review Mail
Número 88864

 
HISTÓRIA 

Criado por: 4D Internet Commands 6.8.1

 
ARTICLE USAGE

4D Internet Commands ( 4D Internet Commands v16)