Skip to main content

Email

O módulo Email é responsável por realizar ações de manipulação de e-mails.

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 responsável por criar uma configuração de conexão com um servidor de e-mail.

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

Parâmetros obrigatórios

  • host: String - endereço do servidor de e-mail.
  • port: Number - porta do servidor de e-mail.
  • user: String - usuário do servidor de e-mail.
  • password: String - senha do servidor de e-mail.

Parâmetros opcionais

  • tls: Boolean - indica se a conexão será feita via TLS.
  • tlsOptions: Object - opções de TLS.
  • useCustomSMTP: Boolean - indica se o servidor será configurado como SMTP customizado.

Retorno

A constante config receberá um objeto com todas as configurações de conexão, que pode ser utilizado como parâmetro nos outros métodos de e-mail.

downloadAttachments

Método responsável por baixar os anexos de um e-mail.

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

Parâmetros obrigatórios

  • pathDownload: String - caminho onde os anexos serão baixados.
  • mail: Object - objeto de e-mail obtido através do método search.

Parâmetros opcionais

Este método não possui parâmetros opcionais.

Retorno

Este método não possui retorno.

getSubject

Método responsável por obter o assunto de um e-mail retornado pelo método search.

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

Parâmetros obrigatórios

  • mail: Object - objeto de e-mail obtido através do método search.

Parâmetros opcionais

Este método não possui parâmetros opcionais.

Retorno

A constante subject receberá uma String com o assunto do e-mail.

getTextContent

Método responsável por obter o conteúdo em texto plano de um e-mail, removendo tags HTML.

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

Parâmetros obrigatórios

  • mail: Object - objeto de e-mail obtido através do método search.

Parâmetros opcionais

Este método não possui parâmetros opcionais.

Retorno

A constante text receberá uma String com o conteúdo em texto puro do e-mail. Se o e-mail possuir texto plano, ele é retornado diretamente; caso contrário, o HTML é convertido para texto.

markSeen

Método responsável por marcar um e-mail como lido.

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

Parâmetros obrigatórios

  • mail: Object - objeto de e-mail obtido através do método search.

Parâmetros opcionais

  • boxName: String - nome da caixa onde o e-mail será marcado como lido. Valor padrão: INBOX.

Retorno

Este método não possui retorno.

moveEmail

Método responsável por mover um e-mail de uma caixa para outra.

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

Parâmetros obrigatórios

  • connection: Object - configuração de conexão obtida através do método createConnectionConfiguration.
  • email: Object - objeto de e-mail obtido através do método search. Deve conter uuid (number) e opcionalmente messageId (string).
  • destinationBox: String - nome da caixa de destino para onde o e-mail será movido.

Parâmetros opcionais

  • sourceBox: String - nome da caixa de origem onde o e-mail está localizado. Valor padrão: INBOX.

Retorno

Este método não possui retorno.

replyEmail

Método responsável por responder a um e-mail.

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

Parâmetros obrigatórios

  • email: Object - objeto de e-mail obtido através do método search.
  • from: String - endereço de e-mail do remetente da resposta.
  • html: String - corpo HTML da resposta.

Parâmetros opcionais

  • connection: Object - configuração de conexão obtida através do método createConnectionConfiguration. Se não informado, utiliza as credenciais SMTP padrão da Roberty.
  • subject: String - assunto da resposta. Se não informado, utiliza o assunto original do e-mail.
  • cc: String - endereço de e-mail para cópia (CC).
  • bcc: String - endereço de e-mail para cópia oculta (BCC).
  • attachments: String[] - caminhos dos arquivos a serem anexados.
  • replyToAll: Boolean - se true, responde a todos os destinatários originais. Valor padrão: false.
  • includeOriginal: Boolean - se true, inclui o e-mail original citado no corpo da resposta. Valor padrão: true.

Retorno

Este método não possui retorno.

Método responsável por buscar e-mails em uma caixa de entrada.

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

Parâmetros obrigatórios

  • boxName: String - nome da caixa de entrada.
  • connection: Object - configuração de conexão obtida através do método createConnectionConfiguration.
  • criteria: Object - critérios de busca:
    • conditionFlag: String - flag de busca. Valores: ALL, UNSEEN, SEEN, UNANSWERED, ANSWERED, DELETED, UNDELETED, DRAFT, UNDRAFT, RECENT, OLD, FLAGGED, UNFLAGGED.
    • conditions: Object[] - condições adicionais. Cada objeto possui:
      • query: String - tipo de busca: BCC, CC, FROM, TO, SUBJECT, TEXT, BODY, KEYWORD.
      • value: String - valor a ser pesquisado.
      • typeCondition: String - operador lógico: AND | OR. Valor padrão: AND.

Parâmetros opcionais

  • skipAttachments: Boolean - quando true, os anexos não são baixados durante a busca. Valor padrão: false.

Retorno

A constante emails receberá um array de objetos de e-mail que podem ser usados como parâmetro nos métodos markSeen, downloadAttachments, moveEmail, replyEmail, getSubject e getTextContent.

send

Método responsável por enviar um e-mail.

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

Parâmetros obrigatórios

  • from: String - endereço de e-mail do remetente.
  • to: String - endereço de e-mail do destinatário.
  • subject: String - assunto do e-mail.
  • html: String - corpo do e-mail em HTML.

Parâmetros opcionais

  • cc: String - endereço de e-mail para cópia (CC).
  • bcc: String - endereço de e-mail para cópia oculta (BCC).
  • replyTo: String - endereço para o qual as respostas serão direcionadas.
  • attachments: String[] - caminhos dos arquivos a serem anexados.
  • auth: Object - credenciais de autenticação (user: String, pass: String).
  • useCustomSMTP: Boolean - indica se será usado servidor SMTP customizado.
  • host: String - endereço do servidor SMTP.
  • port: Number - porta do servidor SMTP.
  • secure: Boolean - indica se a conexão terá criptografia TLS.

Retorno

Este método não possui retorno.