Saltar al contenido principal
Roberty Studio
RPAMódulos

Email

Email

El módulo Email es responsable de realizar acciones de manipulación de correos electrónicos.

js
await Email.send["v1_0_0"]({
from: 'roberty@dominio.com',
to: 'user@dominio.com',
subject: 'Assunto do e-mail',
html: '<h1>Corpo do e-mail</h1>',
})

Métodos​

createConnectionConfiguration​

Método responsable de crear una configuración de conexión con un servidor de correo electrónico.

js
const config = await Email.createConnectionConfiguration["v1_0_0"]({
host: 'smtp.dominio.com',
port: 587,
user: 'roberty@dominio.com',
password: 'senha',
})

Parámetros obligatorios​

  • host: String - dirección del servidor de correo electrónico.
  • port: Number - puerto del servidor de correo electrónico.
  • user: String - usuario del servidor de correo electrónico.
  • password: String - contraseña del servidor de correo electrónico. Obligatorio cuando no se indica xoauth2.

Parámetros opcionales​

  • tls: Boolean - indica si la conexión se realizará vía TLS.
  • xoauth2: String - token de acceso OAuth2 (XOAUTH2). Cuando se indica, la autenticación se realiza con el token junto con user, y la contraseña no se envía.
  • tlsOptions: Object - opciones de TLS.
  • useCustomSMTP: Boolean - indica si el servidor será configurado como SMTP personalizado.

Retorno​

La constante config recibirá un objeto con todas las configuraciones de conexión, que puede utilizarse como parámetro en los otros métodos de correo electrónico.

downloadAttachments​

Método responsable de descargar los adjuntos de un correo electrónico.

js
await Email.downloadAttachments["v1_0_0"]({
pathDownload: 'C:/Users/roberty/Downloads',
mail: emails[0]
})

Parámetros obligatorios​

  • pathDownload: String - ruta donde serán descargados los adjuntos.
  • mail: Object - objeto de correo electrónico obtenido a través del método search.

Parámetros opcionales​

Este método no tiene parámetros opcionales.

Retorno​

Este método no tiene retorno.

getSubject​

Método responsable de obtener el asunto de un correo electrónico devuelto por el método search.

js
const subject = Email.getSubject["v1_0_0"]({
mail: emails[0]
})

Parámetros obligatorios​

  • mail: Object - objeto de correo electrónico obtenido a través del método search.

Parámetros opcionales​

Este método no tiene parámetros opcionales.

Retorno​

La constante subject recibirá un String con el asunto del correo electrónico.

getTextContent​

Método responsable de obtener el contenido en texto plano de un correo electrónico, eliminando las etiquetas HTML.

js
const text = Email.getTextContent["v1_0_0"]({
mail: emails[0]
})

Parámetros obligatorios​

  • mail: Object - objeto de correo electrónico obtenido a través del método search.

Parámetros opcionales​

Este método no tiene parámetros opcionales.

Retorno​

La constante text recibirá un String con el contenido en texto puro del correo electrónico. Si el correo tiene texto plano, este se devuelve directamente; en caso contrario, el HTML se convierte a texto.

markSeen​

Método responsable de marcar un correo electrónico como leído.

js
await Email.markSeen["v1_0_0"]({
mail: emails[0],
})

Parámetros obligatorios​

  • mail: Object - objeto de correo electrónico obtenido a través del método search.

Parámetros opcionales​

  • boxName: String - nombre de la bandeja donde el correo será marcado como leído. Valor predeterminado: INBOX.

Retorno​

Este método no tiene retorno.

moveEmail​

Método responsable de mover un correo electrónico de una bandeja a otra.

js
await Email.moveEmail["v1_0_0"]({
connection: config,
email: emails[0],
destinationBox: 'Processados',
sourceBox: 'INBOX',
})

Parámetros obligatorios​

  • connection: Object - configuración de conexión obtenida a través del método createConnectionConfiguration.
  • email: Object - objeto de correo electrónico obtenido a través del método search. Debe contener uuid (number) y opcionalmente messageId (string).
  • destinationBox: String - nombre de la bandeja de destino hacia donde será movido el correo.

Parámetros opcionales​

  • sourceBox: String - nombre de la bandeja de origen donde se encuentra el correo. Valor predeterminado: INBOX.

Retorno​

Este método no tiene retorno.

replyEmail​

Método responsable de responder a un correo electrónico.

js
await Email.replyEmail["v1_0_0"]({
email: emails[0],
from: 'roberty@dominio.com',
html: '<p>Resposta ao e-mail.</p>',
connection: config,
})

Parámetros obligatorios​

  • email: Object - objeto de correo electrónico obtenido a través del método search.
  • from: String - dirección de correo electrónico del remitente de la respuesta.
  • html: String - cuerpo HTML de la respuesta.

Parámetros opcionales​

  • connection: Object - configuración de conexión obtenida a través del método createConnectionConfiguration. Si no se indica, utiliza las credenciales SMTP predeterminadas de Roberty.
  • subject: String - asunto de la respuesta. Si no se indica, utiliza el asunto original del correo.
  • cc: String - dirección de correo electrónico para copia (CC).
  • bcc: String - dirección de correo electrónico para copia oculta (BCC).
  • attachments: String[] - rutas de los archivos que serán adjuntados.
  • replyToAll: Boolean - si es true, responde a todos los destinatarios originales. Valor predeterminado: false.
  • includeOriginal: Boolean - si es true, incluye el correo original citado en el cuerpo de la respuesta. Valor predeterminado: true.

Retorno​

Este método no tiene retorno.

Método responsable de buscar correos electrónicos en una bandeja de entrada.

js
const emails = await Email.search["v1_0_0"]({
boxName: 'INBOX',
connection: config,
criteria: {
conditionFlag: 'ALL',
}
})

Parámetros obligatorios​

  • connection: Object - configuración de conexión obtenida a través del método createConnectionConfiguration.
  • criteria: Object - criterios de búsqueda:
    • conditionFlag: String - bandera de búsqueda. Valores: ALL, UNSEEN, SEEN, UNANSWERED, ANSWERED, DELETED, UNDELETED, DRAFT, UNDRAFT, RECENT, OLD, NEW, FLAGGED, UNFLAGGED.
    • conditions: Object[] - condiciones adicionales. Cada objeto tiene:
      • query: String - tipo de búsqueda: BCC, CC, FROM, TO, SUBJECT, TEXT, BODY, KEYWORD.
      • value: String - valor que será buscado.
      • typeCondition: String - operador lógico: AND | OR. Valor predeterminado: AND.

Parámetros opcionales​

  • boxName: String - nombre de la bandeja de entrada. Valor predeterminado: INBOX.
  • skipAttachments: Boolean - cuando es true, los adjuntos no se descargan durante la búsqueda. Valor predeterminado: false.

Retorno​

La constante emails recibirá un array de objetos de correo electrónico que pueden usarse como parámetro en los métodos markSeen, downloadAttachments, moveEmail, replyEmail, getSubject y getTextContent.

send​

Método responsable de enviar un correo electrónico.

js
await Email.send["v1_0_0"]({
from: 'roberty@dominio.com',
to: 'email@dominio.com',
subject: 'Assunto',
html: '<h1>Body email</h1>',
})

Parámetros obligatorios​

  • from: String - dirección de correo electrónico del remitente. Solo se usa como remitente cuando useCustomSMTP es true; en caso contrario, el correo se envía desde from-robot@roberty.app y from se usa como dirección de respuesta (cuando no se indica replyTo).
  • to: String - dirección de correo electrónico del destinatario.
  • subject: String - asunto del correo electrónico.
  • html: String - cuerpo del correo electrónico en HTML.

Parámetros opcionales​

  • cc: String - dirección de correo electrónico para copia (CC).
  • bcc: String - dirección de correo electrónico para copia oculta (BCC).
  • replyTo: String - dirección hacia la cual serán dirigidas las respuestas.
  • attachments: String[] - rutas de los archivos que serán adjuntados.
  • auth: Object - credenciales de autenticación (user: String, pass: String).
  • useCustomSMTP: Boolean - indica si se usará un servidor SMTP personalizado.
  • host: String - dirección del servidor SMTP.
  • port: Number - puerto del servidor SMTP.
  • secure: Boolean - indica si la conexión tendrá cifrado TLS.
  • service: String - disponible a partir de la v2_0_0, cuando useCustomSMTP es true. Valores: manual (usa host, port, secure y auth) | outlook365 (usa outlookAuth).
  • outlookAuth: Object - disponible a partir de la v2_0_0. Credenciales OAuth2 de Outlook 365 (email: String, accessToken: String), obligatorias cuando service es outlook365.

En la versión v3_0_0, attachments pasa a ser una lista de objetos con path: String (ruta del archivo) y cid: String opcional (identificador para referenciar el adjunto como imagen en el cuerpo HTML, ej.: <img src="cid:logo">).

Retorno​

Este método no tiene retorno.