4D Internet Commands v16

IMAP_SetFlags

Página Inicial

 
4D Internet Commands v16
IMAP_SetFlags

IMAP_SetFlags 


 

IMAP_SetFlags ( imap_ID ; primeMsg ; ultimaMsg ; listaMarcMsg ; excluirOpcao ) -> Resultado 
Parâmetro Tipo   Descrição
imap_ID   Inteiro longo in Referencia de conexão IMAP
primeMsg  Inteiro longo in Número da primeira mensagem
ultimaMsg  Inteiro longo in Número da última mensagem
listaMarcMsg  String in Marcadores a adicionar ou excluir
excluirOpcao  Inteiro in 1 = adicionar marcador, 0 = excluir marcador
Resultado  Inteiro in Código de erro

O comando IMAP_SetFlags permite adicionar ou excluir em uma operação vários marcadores associados as mensagens do intervalo definido.

O protocolo IMAP permite associar uma lista de marcadores a uma mensagem. Há dois tipos de marcadores: os marcadores permanentes e os marcadores de sessão.
Os marcadores permanentes são agregados ou eliminados permanentemente dos marcadores das mensagens (ver IMAP_SetCurrentMB); ou seja, toda modificação de um marcador permanente se conservará durante as sessões posteriores.
As mudanças realizadas nos marcadores de sessão são válidos somente para essa sessão.

Os marcadores sistema definidos atualmente são:

  • Seen: a mensagem foi lida.
  • Answered: a mensagem foi respondida.
  • Flagged: a mensagem está "marcada" como urgente/ de atenção especial.
  • Deleted: a mensagem será excluída com IMAP_Delete, IMAP_CloseCurrentMB, IMAP_SetCurrentMB ou IMAP_Logout.
  • Draft: a mensagem está em projeto, ou seja, não está completa.
  • Recent: a mensagem chegou recentemente a esta caixa de correio. Este marcador só aparece em uma sessão; as sessões posteriores não poderão ver o marcador \Recent nesta mensagem. Este marcador permanente é administrado pelo servidor IMAP e não pode ser modificado por um cliente IMAP utilizando por exemplo o comando IMAP_SetFlags.

Um servidor IMAP pode permitir a um cliente definir marcadores personalizados. Neste caso, os marcadores adicionais se chamam palavras chaves (keywords) e não começam pelo caracter "\" (ver o comando IMAP_SetCurrentMB). Isto depende da implementação do servidor IMAP. Neste caso, os marcadores adicionais se chamam palavras chaves (keywords) e não começam pelo caracter "\" (ver o comando IMAP_SetCurrentMB).

Nota: Caso seja estabelecido o marcador \Deleted e fecha a sessão atual executando IMAP_SetCurrentMB, IMAP_CloseCurrentMB, IMAP_Delete ou IMAP_Logout, a mensagem será apagada de maneira permanente.

imap_ID é uma referencia inteiro longo a uma conexão aberta criada com IMAP_Login.

primeMsg é um número inteiro longo que especifica o número da primeira mensagem a examinar. O número de mensagem é um valor que representa a posição de uma mensagem na lista de todos as mensagem na caixa de correio de trabalho atual.

ultimaMsg é um número inteiro longo que indica o número da última mensagem a examinar. O número de mensagem é um valor que representa a posição de uma mensagem na lista de todas as mensagens na caixa de correio de trabalho atual.

Nota: Os comandos IMAP_Delete, IMAP_MsgLstInfo, IMAP_MsgLst, IMAP_SetFlags, IMAP_GetFlags e IMAP_CopyToMB não devolvem um erro se primeMsg é maior que a ultimaMsg. No caso de que isto passe, o comando não faz nada.

listaMarcMsg pode conter um ou vários marcadores. No caso de vários marcadores, a cadeia deve ser uma lista de marcadores, separados por espaços. Ver os exemplos a continuação.

Só os marcadores permanentes indicados na lista marcPermanentes podem ser modificados, (ver IMAP_SetCurrentMB).

excluirOpcao é um valor inteiro que especifica se deve ser excluído ou agregado, ou os marcador(es) definido(s) pelo parâmetro listaMarcMsg:

  • Um valor de zero adiciona os marcador(es) especificado(s) em listaMarcMsg.
  • Um valor de 1 é elimina os marcador(es) especificados em listaMarcMsg.

Definição dos marcadores \Answered e \Draft para as mensagens especificadas entre primerMsg e ultimaMsg:

 msgFlagsName:="\Answered \Draft"
  ` \Answered e \Draft estão separados por um espaço (código ASCII)
 IMAP_SetFlags(imap_ID;primerMsg;ultimoMsg;msgFlagsName;0)

Eliminação do marcador \Deleted para as mensagens entre primeMsg e ultimaMsg,  qualquer que seja o estado do marcador:

 msgFlagsName:="\Deleted"
 IMAP_SetFlags(imap_ID;startMsg;endMsg;msgFlagsName;1)

Definição do marcador \Deleted para as mensagens entre primeMsg e ultimaMsg, sem importar se o marcador foi definido previamente ou não:

 msgFlagsName:="\Deleted"
 IMAP_SetFlags(imap_ID;startMsg;endMsg;msgFlagsName;0)
 IMAP_CloseCurrentMB(imap_ID)
  `Encerre da caixa atual e eliminação definitiva das mensagens especificadas.

Definição do marcador \Answered em função do valor de CheckBoxAnswered:

 $Error:=IMAP_SetFlags(vImap_ID;$msgNum;$msgNum;"\Answered";Num(CheckBoxAnswered=0))



Ver também 

IMAP_GetFlags
IMAP_SetCurrentMB

 
PROPRIEDADES 

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

 
HISTÓRIA 

Criado por: 4D Internet Commands 6.8.1

 
ARTICLE USAGE

4D Internet Commands ( 4D Internet Commands v16)