4D v20 traz duas características muito úteis para os Transportadores IMAP!
Interagir com alguns servidores de correio IMAP e clientes requer a gestão de palavras-chave personalizadas em mails, e beneficiar de algumas das suas características específicas.
Também adicionámos o suporte de ID da caixa de correio no nosso IMAP Transporter para que possa identificar uma determinada caixa de correio mesmo depois de esta ter sido renomeada.
Palavras-chave personalizadas
Como alguns servidores IMAP permitem ao utilizador definir palavras-chave personalizadas, as funções .addFlags ( ) e .removeFlags ( ) aceitam agora palavras arbítrio como palavras-chave :
$transporter:=IMAP New transporter($parameters)
$boxInfo:=$transporter.selectBox("INBOX")
$mailIds:=["122";"123";"124"]
// Palavra chave personalizada
$keywords:={"myKeyword":true}
// aplicar a palavra chave personalizada para a coleção de mail
$status:=$transporter.addFlags($mailIds; $keywords)
e a função .selectBox ( ) devolve a lista de bandeiras permitidas na caixa de correio atual através dos atributos .flags e .permanentFlags:
$selectBox:=$transporter.selectBox("INBOX")
//$selectBox={name:INBOX,
//mailCount:124,
//mailRecent:0,
//id:644737301,
//flags:\\Answered \\Flagged \\Draft \\Deleted \\Seen $NotPhishing $Phishing myKeyword,
//permanentFlags:\\Answered \\Flagged \\Draft \\Deleted \\Seen $NotPhishing $Phishing myKeyword \\*}
ID da caixa de correio
Uma vez que o nome da caixa de correio não é suficiente por si só para saber se a caixa selecionada foi renomeada ou removida e recriada, adicionamos o id à informação devolvida pelo .selectBox ( ) e a função .getBoxInfo ( ) do transportador IMAP:
$boxInfo:=$transporter.getBoxInfo("INBOX")
//{name:INBOX,
//mailCount:125,
//mailRecent:0,
//id:644737301}
Verifique estas características com a documentação para mais detalhes!