Para acceder a los datos de Microsoft 365 como correos electrónicos, Microsoft está dejando de lado la autenticación básica para IMAP y POP3 y está promoviendo cada vez más la API gráfica.
A partir de la v19 R8, dispone de nuevos comandos integrados en 4D NetKit para automatizar de forma nativa las operaciones de correo electrónico de Microsoft 365, como copiar, mover, responder y eliminar correos electrónicos.
Gestión de correo electrónico HDI
Conexión A la cuenta
Antes de crear el email, crearemos el objeto de conexión OAuth2 y el objeto 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"))
Mover o copiar correos electrónicos
Para mover un correo electrónico de una carpeta a otra, debe pasar su mailId y folderId a la función .move():
$status:=$office365.mail.move($mailId; $folderId)
Del mismo modo, para copiar un correo electrónico de una carpeta a otra, debe pasar su mailId y folderId a la función .copy():
$status:=$office365.mail.copy($mailId; $folderId)
Responder un correo electrónico
Para responder a un correo electrónico y crear una conversación, debe pasar el texto que desea enviar y el mailId del correo original a la función .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)
Añadir un correo electrónico
Puede crear un borrador de correo electrónico y guardarlo en la carpeta que desee con la función .append():
// Send the email
$status:=$office365.mail.append($draft; $folder.id)
Borrar un correo electrónico
Para borrar un correo electrónico, debe pasar su id a la función .delete():
$office365.mail.delete($mailId)
Descubra esta función con el IDH anterior y la documentación para más detalles.
Para encontrar más comandos sobre la gestión del correo electrónico, lea esta entrada del blog.