He comenzado un nuevo proyecto de correo electrónico. Es muy desafiante para mí porque es la primera vez que trabajo con un proyecto de correo electrónico personalizado. Estoy usando node.js para crear la API REST completa. Uso del módulo imap-simple para acceder al acceso a mensajes de Internet. Todo funciona como enviar correo electrónico, recibir correo electrónico, agregar bandera, etc. desde nuestro propio servidor. Pero el problema es que al intentar mover un correo electrónico de la Bandeja de entrada a la carpeta Borradores, aparece un error. ¿Puede ver mi fragmento de código a continuación y guiarme por el camino correcto?
const imaps = require('imap-simple'); module.exports.moveEmail = async (req, res)=>{ let user = req.body; let UID = req.params.uid try{ const connection = await imaps.connect({ imap: { user: user.user, // User email password: user.password, // User email password host: 'server.XXXX.com', port: XXXX, authTimeout: 10000, tls: true, tlsOptions: { rejectUnauthorized: false }, }, }); await connection.openBox('INBOX') const searchCriteria = [['UID', UID], ['TO', user.user]] const fetchOptions = { bodies: ['HEADER', ''], // Empty string means full body markSeen: false } const messages = await connection.search(searchCriteria, fetchOptions) if (messages.length === 0) { return res.send({message:`ID ${UID} Email not found`}) } // console.log(messages) connection.moveMessage(UID, 'Drafts', (err) => { if (err){ console.log(err) console.log({status:500, message:'Problem marking email move to Drafts'}); rej(err); }else{ connection.end(); return res.send({status:200, message:`Email flag removed successfully!`}) } }) }catch (error){ console.log(error) } }Espero que alguien tenga una buena solución.