Microsoft 365 : Copier, déplacer, répondre et supprimer des e-mails avec l’API Microsoft Graph

Traduit automatiquement de Deepl

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.

HDI Gestion des emails

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.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené a rejoint l'équipe du programme 4D en novembre 2016. En tant que Product Owner, il est en charge de rédiger les user stories puis de les traduire en spécifications fonctionnelles. Son rôle est également de s'assurer que l'implémentation de la fonctionnalité livrée répond au besoin du client.Après avoir obtenu une licence en informatique au CNAM, Fabrice a rejoint une petite société d'édition de logiciels en tant que développeur Windev. Il a ensuite travaillé pour différentes entreprises dans les domaines de l'industrie et du commerce en tant que développeur Windev et web ainsi que conseiller technique sur les nouvelles fonctionnalités.