Esiste un modo per evitare "+ canned.response" nell'indirizzo e-mail utilizzando la funzione di risposta predefinita di Gmail


11

Se imposto un filtro e invio una risposta predefinita, Gmail aggiunge il +canned.responsemio nome utente nella risposta.

Ad esempio, dato il filtro "da: foo@example.com a: me@example.com" impostato per inviare una risposta predefinita, quando foo@example.commi invia un'e-mail la risposta predefinita viene me+canned.response@example.cominvece di me@example.com, esponendo che sto usando un risposta predefinita.

c'è un modo per evitarlo?


4
Certamente non c'è nulla nelle impostazioni di Gmail che lo controlla. Ho la sensazione che la risposta sia "No". Ricorda anche: questa è (attualmente) una funzione Lab e non è completamente supportata.
Ale

Risposte:


3

La cosa da ricordare sull'attuale "risposta predefinita" per Gmail è che deve essere aggiunto dalla scheda "Labs".

Ciò significa che potrebbe esserci un supporto scarso e che potrebbe potenzialmente scomparire completamente. Questo particolare "Lab" ha una serie di altre stranezze che esulano dallo scopo della tua domanda ma credo che la tua risposta sia "No".

Sembra che il motivo di " + canned.response " sia quello di impedire alcuni loop di posta elettronica che qualcuno potrebbe inavvertitamente creare facendo rinviare il messaggio a se stessi o anche solo rispondendo.

Nel mio test ho usato un filtro per la risposta basato su uno specifico " Da " con un " Soggetto " contenente una parola chiave. La risposta predefinita è stata attivata ogni volta, tranne quando ho risposto direttamente alla risposta predefinita.

Sono sicuro che la maggior parte delle persone può vivere con questa stranezza, ma alcune delle altre stranezze che ho riscontrato durante il test di questo potrebbero causare Google a estrarre questo Lab.


2

Ho pensato a un modo per non utilizzare la risposta predefinita in quanto tale (inclusa la responsecitazione aggiunta nell'indirizzo e-mail), ma semplicemente per inoltrare la risposta predefinita alle e-mail filtrate (destinatari). Ecco come appare:

Codice

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);    
}

spiegato

Le prime righe sono per determinare l'ID della risposta predefinita che si desidera inviare. La Loggerfunzione aiuterà a registrare tutti gli ID di draf. Aggiungi questo ID in particolare a getMessageById(Id). I prossimi tre frammenti riceveranno tutte le mail non lette cannedResponsedall'etichetta e rimuoveranno i duplicati.
Sulla base delle e-mail presenti, le risposte predefinite vengono inoltrate ai diversi destinatari. Successivamente, tutte le e-mail non lette nell'etichetta cannedResponse sono contrassegnate come lette.

uso

Aggiungi il codice navigando al seguente URL: https://script.google.com .
Assicurati di premere il pulsante "bug" per autenticare lo script e il suo utilizzo. Lo script può essere attivato su un intervallo di tempo. Imposta il grilletto nel Resourcesmenu, come preferisci.
inserisci qui la descrizione dell'immagine

In questo caso, ci sono alcuni prerequisiti. Devi avere un'etichetta chiamata cannedResponsee avere una risposta predefinita come bozza. Inoltre, è necessario che sia installato un filtro per inviare risposte predefinite.

Immagine dello schermo

inserisci qui la descrizione dell'immagine


2

Giacobbe,

Il tuo codice era proprio quello che stavo cercando. Ma essendo il perfezionista che sono, ho riscontrato alcuni problemi con il tuo codice:

  • Le e-mail inviate vengono inoltrate invece di rispondere. Ciò aggiunge un "Fwd:" nella riga dell'oggetto e probabilmente solleva alcune sopracciglia all'estremità del ricevitore.
  • Uso Gmail per controllare la mia e-mail di lavoro (non Gmail). Il tuo codice non funziona bene con questo. Risponde alla mia e-mail di lavoro con il mio indirizzo Gmail, che solleverà ancora più sopracciglia alla fine del destinatario.
  • La tua configurazione richiede un'e-mail costante nella mia cartella bozze. Questo mi farebbe impazzire.

Ho modificato il tuo codice per tener conto di questi ed ecco la mia versione:

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);
}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.