Pour accéder aux données de Microsoft 365, comme les courriers électroniques, Microsoft a décidé de supprimer l’authentification de base pour IMAP et POP3 et de promouvoir de plus en plus l’API graphique.
À partir de la v19 R8, vous disposez désormais de nouvelles commandes intégrées dans 4D NetKit pour automatiser de manière native les opérations liées aux e-mails de Microsoft 365, telles que la copie, le déplacement, la réponse et la suppression des e-mails.
Connexion au compte
Avant de créer l’email, nous allons créer l’objet de connexion OAuth2 et l’objet Office 365.
var $oAuth2: cs.NetKit.OAuth2Provider
var $office365 : cs.NetKit.Office365
$oAuth2:=cs.NetKit.OAuth2Provider.new($param)
$office365:=cs.NetKit.Office365.new($oAuth2;\
New object("mailType"; "Microsoft"))
Déplacer ou copier des emails
Pour déplacer un email d’un dossier à un autre, vous devez passer votre mailId et folderId du dossier destination à la fonction .move() :
$status:=$office365.mail.move($mailId; $folderId)
De la même manière, pour copier un e-mail d’un dossier à un autre, vous devez transmettre votre mailId et votre folderId à la fonction .copy() :
$status:=$office365.mail.copy($mailId; $folderId)
Répondre à un e-mail
Pour répondre à un e-mail et créer une conversation, vous devez transmettre le texte que vous souhaitez envoyer et le mailId de l’e-mail original à la fonction .reply() :
$reply:=New object
// Text that will be sent as reply
$reply.comment:="Thank you for your message"
$status:=$office.mail.reply($reply; $mails.mailId)
Ajouter un e-mail
Vous pouvez créer un brouillon d’e-mail et l’enregistrer dans le dossier de votre choix avec la fonction .append() :
// Send the email
$status:=$office365.mail.append($draft; $folder.id)
Supprimer un e-mail
Pour supprimer un e-mail, vous devez passer son identifiant à la fonction .delete() :
$office365.mail.delete($mailId)
Découvrez cette fonction avec le HDI ci-dessus et la documentation pour plus de détails !
Pour trouver plus de commandes sur la gestion des emails, lisez cet article de blog.