E-mail

O envio automático de e-mails em diferentes situações é a principal função dessas macros. Outras tarefas são desempenhadas, mas esta é a mais importante delas. Para o envio de e-mails, deve ser usada exclusivamente a conta manutencaoscne@gmail.com.

Tipos

Atualmente, são enviados os seguintes tipos de notificações via e-mail:

  • Arquivamento de processo, destinada a(o) solicitante;

  • Bloqueio de execução por aguardo de alguma definição ou interação do solicitante;

  • Compilação de processos não estruturais arquivados durante a semana passada à CGD, enviada todo dia;

  • Compilação de processos estruturais enviados aos colaboradores relevantes, caso tenha;

  • Alteração de layout à CPLAN;

  • Resposta automatizada para feedback. Um tipo para nota baixa e outro para serviço julgado como não concluído pelo(a) solicitante;

  • Insumos atrasados atrapalhando execução, enviada ao fiscal de contrato;

  • (EM DESENVOLVIMENTO) Remoção de colaborador com status “DESLIGADO” na página de “Equipe” por mais de 30 dias (padrão, configurável no painel de controle);

Última atualização: 07 nov. 2025

Templates

O envio de e-mails é feito usando HTML com templates. Mensagens com corpo de texto puro não são suportadas pelo projeto, já que implementar um parser próprio de HTML não é viável de um ponto de vista de esforço e de performance. O formato das templates é próprio ao Google Apps Script, exemplos podem ser encontrados em src/templates/. O arquivo mail.ts contém vários wrappers para GmailApp.SendMail que avaliam essas templates, preenchendo dados para cada um dos tipos de notificação especificados.

A sintaxe de templates do Apps Script permite <? ... ?> para lógica e <?= ... ?> para saída.

Exemplo de arquivo de template, que seria colocado em src/templates/

<!-- src/templates/notification.html -->
<p>Olá <?= nome ?>,</p>

<p>Seguem os processos:</p>
<ul>
  <? for (var i = 0; i < processos.length; i++) { ?>
  <li>
    <?= processos[i].numero ?><?= processos[i].assunto ?>
  </li>
  <? } ?>
</ul>

<p>Atenciosamente,<br />Equipe</p>

Exemplo de código no Google Apps Script que avalia a template e envia um e-mail:

function sendNotification(to, nome, processos) {
  // Carrega a template pelo nome do arquivo (sem extensão)
  var template = HtmlService.createTemplateFromFile("notification");
  template.nome = nome;
  template.processos = processos;

  // Avalia a template e obtém o HTML final
  var htmlBody = template.evaluate().getContent();

  // Envia usando a conta dedicada
  GmailApp.sendEmail(
    to,
    "Notificação de processos",
    "Seu cliente de e-mail não suporta HTML.",
    {
      htmlBody: htmlBody,
      from: "manutencaoscne@gmail.com",
    },
  );
}

Verificação Manual

Os envios de e-mail são programados para fazer logging extenso e deixar o processo transparente. É possível observar suas execuções nos logs do Google Apps Script. A função alto-nível responsável por ativar todas as notificações é enviarNotificacoes() em main.ts