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