Existe-t-il un moyen d'éviter «+ canned.response» dans l'adresse e-mail à l'aide de la fonction de réponse standardisée de Gmail

11

Si je configure un filtre et que je lui envoie une réponse standardisée, Gmail ajoute +canned.responseà mon nom d'utilisateur dans la réponse.

Par exemple, étant donné le filtre "de: [email protected] à: [email protected]" configuré pour envoyer une réponse préenregistrée, lorsque [email protected]m'envoie un e-mail, la réponse préenregistrée vient au [email protected]lieu de [email protected], exposant que j'utilise un Une réponse toute faite.

Y a-t-il un moyen d'éviter cela?

Kerrick
la source
4
Il n'y a certainement rien dans les paramètres de Gmail qui contrôle cela. J'ai le sentiment que la réponse est "non". N'oubliez pas non plus: il s'agit (actuellement) d'une fonctionnalité de laboratoire et n'est pas entièrement prise en charge.
ale

Réponses:

3

La chose à retenir sur la "réponse standardisée" actuelle pour Gmail est qu'elle doit être ajoutée à partir de l'onglet "Labs".

Cela signifie qu'il peut y avoir un soutien clairsemé et peut disparaître complètement. Ce "Lab" particulier a un certain nombre d'autres bizarreries qui sortent du cadre de votre question, mais je crois que votre réponse est "Non".

Il semble que la raison de la " + canned.response " soit d'empêcher une boucle de courrier électronique que quelqu'un pourrait créer par inadvertance en renvoyant le message à lui-même ou même en répondant simplement.

Dans mon test, j'ai utilisé un filtre pour la réponse basée sur un " From " spécifique avec un " Subject " contenant un mot-clé. La réponse standard a été déclenchée à chaque fois, sauf lorsque j'ai répondu directement à la réponse standard.

Je suis sûr que la plupart des gens peuvent vivre avec cette bizarrerie, mais certaines des autres bizarreries que j'ai rencontrées en testant cela pourraient amener Google à retirer ce laboratoire.

Xavier Casto
la source
2

J'ai pensé à un moyen de ne pas utiliser la réponse standard en tant que telle (y compris la responsecitation ajoutée dans l'adresse e-mail), mais de simplement transmettre la réponse standard aux e-mails filtrés (destinataires). C'est à ça que ça ressemble:

Code

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

Expliqué

Les premières lignes servent à déterminer l'ID de la réponse standard que vous souhaitez envoyer. La Loggerfonction aidera à consigner tous les ID de dessin. Ajoutez cet identifiant particulier dans le getMessageById(Id). Les trois extraits suivants récupèrent tous les e-mails non lus de l' cannedResponseétiquette et suppriment les doublons.
Sur la base des e-mails présents, les réponses préenregistrées sont transmises aux différents destinataires. Après cela, tous les e-mails non lus dans l'étiquette cannedResponse sont marqués comme lus.

Usage

Ajoutez le code en surfant sur l'URL suivante: https://script.google.com .
Assurez-vous d'appuyer sur le bouton "bug" pour authentifier le script et son utilisation. Le script peut être déclenché sur un intervalle de temps. Réglez le déclencheur dans le Resourcesmenu, comme vous le souhaitez.
entrez la description de l'image ici

Dans ce cas, il existe certaines conditions préalables. Vous devez avoir une étiquette appelée cannedResponseet avoir une réponse standard comme brouillon. De plus, un filtre doit être en place pour envoyer des réponses standardisées.

Capture d'écran

entrez la description de l'image ici

Jacob Jan Tuinstra
la source
2

Jacob,

Votre code était exactement ce que je cherchais. Mais étant le perfectionniste que je suis, j'ai trouvé quelques problèmes avec votre code:

  • Les e-mails envoyés sont transmis au lieu de recevoir une réponse. Cela ajoute un "Fwd:" dans la ligne d'objet et soulève probablement quelques sourcils du côté du récepteur.
  • J'utilise Gmail pour vérifier mes e-mails professionnels (non Gmail). Votre code ne fonctionne pas bien avec cela. Il répond à mon e-mail professionnel avec mon adresse Gmail, ce qui soulèvera encore plus de sourcils du côté du destinataire.
  • Votre configuration nécessite un e-mail constant dans mon dossier brouillons. Cela me rendrait fou.

J'ai modifié votre code pour en tenir compte et voici ma version:

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
la source