Pular para conteúdo

DELETE_EMAIL - Deletar Email Permanentemente

O que é este Node?

O DELETE_EMAIL é o node responsável por deletar permanentemente emails do Gmail, removendo-os completamente sem possibilidade de recuperação.

Por que este Node existe?

Deletar emails programaticamente é necessário para gestão automatizada de caixa de entrada. O DELETE_EMAIL existe para:

  1. Limpeza automática: Remover spam ou emails desnecessários
  2. Gestão de espaço: Deletar emails antigos para liberar quota
  3. Conformidade: Remover dados sensíveis conforme políticas
  4. Automação completa: Processar e deletar em um fluxo

Como funciona internamente?

Quando o DELETE_EMAIL é executado, o sistema:

  1. Valida messageId: Confirma que email existe
  2. Deleta permanentemente: Chama gmail.users.messages.delete()
  3. Sem recuperação: Email não vai para lixeira, é removido completamente
  4. Retorna confirmação: Indica sucesso da deleção

Código interno (gmail-executor.service.ts:393-400):

private async deleteMessage(gmail: any, data: GmailNodeData): Promise<any> {
  await gmail.users.messages.delete({
    userId: 'me',
    id: data.messageId
  });

  return { deleted: true, messageId: data.messageId };
}

Quando você DEVE usar este Node?

Use DELETE_EMAIL sempre que precisar de remoção permanente:

Casos de uso

  1. Limpar spam: "Deletar emails identificados como spam"
  2. Remover duplicados: "Deletar cópias duplicadas de emails"
  3. Conformidade LGPD: "Deletar dados após período de retenção"
  4. Limpeza automática: "Deletar newsletters antigas"

Quando NÃO usar DELETE_EMAIL

  • Pode precisar depois: Use TRASH_EMAIL ou ARCHIVE_EMAIL
  • Manter histórico: Use ARCHIVE_EMAIL ao invés de deletar
  • Sem certeza: Prefira TRASH_EMAIL (permite recuperação)

Parâmetros

Campo Tipo Obrigatório Descrição
oauth2 object Sim Credenciais OAuth2
operation string Sim Deve ser "delete"
messageId string Sim ID do email a deletar

Exemplo 1: Deletar Spam Automático

Objetivo: Identificar e deletar spam automaticamente

JSON para Importar

{
  "name": "Limpar Spam Automaticamente",
  "nodes": [
    {
      "id": "start_1",
      "type": "start",
      "position": { "x": 100, "y": 100 },
      "data": { "label": "Verificar Spam" }
    },
    {
      "id": "gmail_search_1",
      "type": "gmail",
      "position": { "x": 300, "y": 100 },
      "data": {
        "label": "Buscar Spam",
        "operation": "getAll",
        "oauth2": {
          "clientId": "YOUR_CLIENT_ID",
          "clientSecret": "YOUR_SECRET",
          "refreshToken": "YOUR_TOKEN"
        },
        "query": "in:spam older_than:30d",
        "maxResults": 50
      }
    },
    {
      "id": "condition_1",
      "type": "condition",
      "position": { "x": 500, "y": 100 },
      "data": {
        "label": "Tem Spam?",
        "parameters": {
          "condition": "{{gmail_search_1.messages.length}} > 0"
        }
      }
    },
    {
      "id": "loop_1",
      "type": "loop",
      "position": { "x": 700, "y": 50 },
      "data": {
        "label": "Para Cada Email",
        "parameters": {
          "array": "{{gmail_search_1.messages}}",
          "variable": "spamEmail"
        }
      }
    },
    {
      "id": "gmail_delete_1",
      "type": "gmail",
      "position": { "x": 900, "y": 50 },
      "data": {
        "label": "Deletar Spam",
        "operation": "delete",
        "oauth2": {
          "clientId": "YOUR_CLIENT_ID",
          "clientSecret": "YOUR_SECRET",
          "refreshToken": "YOUR_TOKEN"
        },
        "messageId": "{{spamEmail.id}}"
      }
    },
    {
      "id": "message_1",
      "type": "message",
      "position": { "x": 1100, "y": 50 },
      "data": {
        "label": "Confirmar",
        "parameters": {
          "message": "🗑️ {{gmail_search_1.messages.length}} emails deletados"
        }
      }
    },
    {
      "id": "message_2",
      "type": "message",
      "position": { "x": 700, "y": 150 },
      "data": {
        "label": "Sem Spam",
        "parameters": {
          "message": "✅ Nenhum spam para deletar"
        }
      }
    },
    {
      "id": "end_1",
      "type": "end",
      "position": { "x": 900, "y": 100 },
      "data": { "label": "Fim" }
    }
  ],
  "edges": [
    { "source": "start_1", "target": "gmail_search_1" },
    { "source": "gmail_search_1", "target": "condition_1" },
    { "source": "condition_1", "target": "loop_1", "label": "true" },
    { "source": "condition_1", "target": "message_2", "label": "false" },
    { "source": "loop_1", "target": "gmail_delete_1" },
    { "source": "gmail_delete_1", "target": "message_1" },
    { "source": "message_1", "target": "end_1" },
    { "source": "message_2", "target": "end_1" }
  ]
}

Saída esperada:

Sistema: 🗑️ 23 emails deletados

⚠️ ATENÇÃO

DELETE é PERMANENTE! Emails deletados NÃO podem ser recuperados. Use com extremo cuidado.

Alternativas mais seguras: - TRASH_EMAIL - Move para lixeira (recuperável por 30 dias) - ARCHIVE_EMAIL - Remove da inbox mas mantém no Gmail

Resposta do Node

{
  "success": true,
  "action": "delete_email",
  "deleted": true,
  "messageId": "18f2b9c4d5e6a7f8",
  "timestamp": "2025-10-12T21:30:00.000Z"
}

Boas Práticas

SIM: - Sempre confirme antes de deletar - Use filtros específicos para evitar deletar incorretamente - Faça backup de emails importantes antes - Considere TRASH ao invés de DELETE

NÃO: - NUNCA delete sem verificação - NUNCA delete emails importantes - NUNCA use query muito ampla - NUNCA delete sem backup

Dicas

💡 Dica 1: Prefira TRASH_EMAIL - permite recuperação 💡 Dica 2: Teste com query específica primeiro 💡 Dica 3: Use CONDITION para validar antes de deletar 💡 Dica 4: DELETE é irreversível - tenha certeza absoluta 💡 Dica 5: Implemente confirmação manual para segurança

Próximo Node

TRASH_EMAIL - Alternativa segura (recuperável) → ARCHIVE_EMAIL - Arquivar ao invés de deletar → GET_EMAIL_BY_ID - Verificar email antes de deletar