Existe uma maneira de evitar “+ canned.response” no endereço de e-mail usando o recurso de resposta enlatada do Gmail

11

Se eu configurar um filtro e enviar uma resposta em lata, o Gmail anexa +canned.responseao meu nome de usuário na resposta.

Por exemplo, dado o filtro "de: [email protected] para: [email protected]" configurado para enviar uma resposta em lata, quando [email protected]me envia um email, a resposta em lata vem em [email protected]vez de [email protected], expondo que estou usando um modelo de resposta.

Há alguma maneira de evitar isto?

Kerrick
fonte
4
Certamente não há nada nas configurações do Gmail que controle isso. Sinto que a resposta é "Não". Lembre-se também: este é (atualmente) um recurso de laboratório e não é totalmente suportado.
ale

Respostas:

3

O que deve ser lembrado sobre a atual "resposta enlatada" do Gmail é que ela deve ser adicionada na guia "Laboratórios".

Isso significa que pode haver suporte escasso e pode desaparecer completamente. Este "Laboratório" em particular tem várias outras peculiaridades que estão fora do escopo da sua pergunta, mas acredito que sua resposta seja "Não".

Parece que o motivo da resposta " + canned.response " é evitar algum loop de email que alguém possa criar inadvertidamente, enviando a mensagem novamente para si ou apenas respondendo.

No meu teste, usei um filtro para a resposta com base em um " De " específico com um " Assunto " contendo uma palavra-chave. A resposta enlatada era acionada toda vez, exceto quando eu respondia diretamente à resposta enlatada.

Tenho certeza de que a maioria das pessoas pode conviver com essa peculiaridade, mas algumas das outras peculiaridades que encontrei ao testar isso podem fazer com que o Google instale este laboratório.

Xavier Casto
fonte
2

Pensei em uma maneira de não usar a resposta enlatada como tal (incluindo a responsecotação adicionada no endereço de e-mail), mas simplesmente encaminhar a resposta enlatada aos e-mails filtrados (destinatários). É assim que parece:

Código

function doGet(e) {
  // retrieve Id's from canned response  
  var drafts = GmailApp.getDraftMessages();
  for(var i in drafts) {
    Logger.log(drafts[i].getId() + " " + drafts[i].getSubject());
  }

  // set canned response mail
  var canned = GmailApp.getMessageById('1410f11ab42ca12d');

  // get all messages
  var eMails = GmailApp.getMessagesForThreads(
    GmailApp.search("label:cannedresponse label:unread"))
      .reduce(function(a, b) {return a.concat(b);})
      .map(function(eMails) {
    return eMails.getFrom() 
  });

  // sort and filter for unique entries  
  var aEmails = eMails.sort().filter(function(el,j,a)
    {if(j==a.indexOf(el))return 1;return 0}); 

  // forward canned response
  for(var j in aEmails) {
    canned.forward(aEmails[j]);
  }

  // mark all as read
  var threads = GmailApp.search("label:cannedresponse label:unread");
  GmailApp.markThreadsRead(threads);    
}

Explicado

As primeiras linhas são determinar o ID da resposta em lata que você deseja enviar. A Loggerfunção ajudará a registrar todos os IDs de rascunho. Adicione este ID específico ao getMessageById(Id). Os próximos três trechos receberão todos os emails não lidos do cannedResponserótulo e removerão duplicatas.
Com base nos emails presentes, as respostas em lata são encaminhadas para os diferentes destinatários. Depois disso, todos os emails não lidos no rótulo cannedResponse são marcados como lidos.

Uso

Adicione o código navegando no seguinte URL: https://script.google.com .
Certifique-se de pressionar o botão "bug" para autenticar o script e seu uso. O script pode ser acionado em um intervalo baseado em tempo. Coloque o gatilho no Resourcesmenu da maneira que quiser.
insira a descrição da imagem aqui

Nesse caso, existem alguns pré-requisitos. Você precisa ter um rótulo chamado cannedResponsee ter uma resposta fixa como rascunho. Além disso, é necessário que haja um filtro para enviar respostas em lata.

Captura de tela

insira a descrição da imagem aqui

Jacob Jan Tuinstra
fonte
2

Jacob,

Seu código era exatamente o que eu estava procurando. Mas sendo o perfeccionista que sou, encontrei alguns problemas com seu código:

  • Os e-mails enviados são encaminhados em vez de respondidos. Isso adiciona um "Fwd:" na linha de assunto e provavelmente levanta algumas sobrancelhas na extremidade do receptor.
  • Uso o Gmail para verificar meu e-mail comercial (que não é do Gmail). Seu código não funciona bem com isso. Ele responde ao meu e-mail comercial com meu endereço do Gmail, o que aumentará ainda mais as sobrancelhas no final do destinatário.
  • Sua configuração requer um email constante na minha pasta de rascunhos. Isto me deixaria louco.

Modifiquei seu código para dar conta disso e aqui está minha versão:

function RespondEmail(e) {

  // set response mail
  var response = GmailApp.getMessageById('1452e6aef2c5c09f');
  var responsebody = response.getBody();

  //send response email
  var aliases = GmailApp.getAliases()
  var threads = GmailApp.search("label:respondemail label:unread");
  for (var i = 0; i < threads.length; i++) {
    threads[i].reply("", {htmlBody: responsebody, from: aliases[0]});}

  // mark all as read
  var threads = GmailApp.search("label:respondemail label:unread");
  GmailApp.markThreadsRead(threads);
}
David Cassidy
fonte