4D v20 introduce due funzioni molto utili per i trasportatori IMAP!
L’interazione con alcuni server e client di posta IMAP richiede la gestione di parole chiave personalizzate nei messaggi di posta e l’utilizzo di alcune loro caratteristiche specifiche.
Abbiamo anche aggiunto il supporto dell’ID della casella di posta nel nostro Transporter IMAP, in modo da poter identificare una determinata casella di posta anche dopo averla rinominata.
Parole chiave personalizzate
Poiché alcuni server IMAP consentono all’utente di definire parole chiave personalizzate, le funzioni .addFlags ( ) e .removeFlags ( ) accettano ora parole arbitrarie come parole chiave:
$transporter:=IMAP New transporter($parameters)
$boxInfo:=$transporter.selectBox("INBOX")
$mailIds:=["122";"123";"124"]
// Custom keyword
$keywords:={"myKeyword":true}
// apply the custom keyword to the collection of mail
$status:=$transporter.addFlags($mailIds; $keywords)
e la funzione .selectBox ( ) restituisce l’elenco dei flag consentiti nella casella di posta corrente attraverso gli attributi .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 mailbox
Poiché il nome della mailbox non è sufficiente da solo per sapere se la casella selezionata è stata rinominata o rimossa e ricreata, aggiungiamo l’id alle informazioni restituite dalle funzioni .selectBox ( ) e .getBoxInfo ( ) del trasportatore IMAP:
$boxInfo:=$transporter.getBoxInfo("INBOX")
//{name:INBOX,
//mailCount:125,
//mailRecent:0,
//id:644737301}
Per maggiori dettagli, consultate la documentazione di queste funzioni!