Para acessar os dados no Microsoft 365 como os e-mails, a Microsoft está depreciando a autenticação básica para IMAP e POP3 e está promovendo cada vez mais a API gráfica.
A partir do v19 R8, tem agora novos comandos integrados no NetKit 4D para automatizar nativamente as operações de correio electrónico da Microsoft 365, tais como copiar, mover, responder e eliminar correio eletrônico.
Gestão de correio electrónico HDI
Ligação de conta
Antes de criar o e-mail, iremos criar o objecto de ligação OAuth2 e o objecto 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 ou copiar e-mails
Para mover um e-mail de uma pasta para outra, é necessário passar o seu mailId e folderId para a função .move():
$status:=$office365.mail.move($mailId; $folderId)
Da mesma forma, para copiar um e-mail de uma pasta para outra, é necessário passar o seu mailId e folderId para a função .copy():
$status:=$office365.mail.copy($mailId; $folderId)
Responder a um e-mail
Para responder a um e-mail e criar uma conversa, é necessário passar o texto que se pretende enviar e o mailId do e-mail original para a função .reply():
$reply:=New object
// Texto que será enviado como resposta
$reply.comment:="Thank you for your message"
$status:=$office.mail.reply($reply; $mails.mailId)
Acrescentar uma mensagem de correio eletrônico
Pode criar um rascunho de e-mail e guardá-lo na pasta da sua escolha com a função .append():
// Enviar o email
$status:=$office365.mail.append($draft; $folder.id)
Apagar um e-mail
Para apagar um e-mail, é necessário passar a sua identificação para a função .delete():
$office365.mail.delete($mailId)
Consulte esta função com o IDH acima e a documentação para mais detalhes!
Para encontrar mais comandos sobre gestão de correio electrónico, vamos ler este post no blogue.