¿Hay alguna manera de evitar "+ canned.response" en la dirección de correo electrónico utilizando la función de respuesta enlatada de Gmail

11

Si configuro un filtro y le envío una respuesta enlatada, Gmail agrega +canned.responsemi nombre de usuario en la respuesta.

Por ejemplo, dado el filtro "de: [email protected] a: [email protected]" configurado para enviar una respuesta enlatada, cuando [email protected]me envía un correo electrónico, la respuesta enlazada proviene en [email protected]lugar de [email protected], exponiendo que estoy usando un respuesta enlatada.

Hay alguna manera de evitar esto?

Kerrick
fuente
44
Ciertamente, no hay nada en la configuración de Gmail que controle eso. Tengo la sensación de que la respuesta es "No". Recuerde también: esta es (actualmente) una función de laboratorio y no es totalmente compatible.
ale

Respuestas:

3

Lo que hay que recordar sobre la "respuesta enlatada" actual para Gmail es que debe agregarse desde la pestaña "Labs".

Esto significa que puede haber escaso apoyo y tiene el potencial de desaparecer por completo. Este "Laboratorio" en particular tiene una serie de otras peculiaridades que están fuera del alcance de su pregunta, pero creo que su respuesta es "No".

Parece que la razón de " + canned.response " es evitar algún bucle de correo electrónico que alguien podría crear inadvertidamente al reenviar el mensaje o incluso simplemente responderlo.

En mi prueba, utilicé un filtro para la respuesta basado en un " De " específico con un " Asunto " que contiene una palabra clave. La respuesta enlatada se disparó cada vez, excepto cuando respondí directamente a la respuesta enlatada.

Estoy seguro de que la mayoría de las personas pueden vivir con este capricho, pero algunos de los otros caprichos que encontré al probar esto podrían hacer que Google retire este laboratorio.

Xavier Casto
fuente
2

Pensé en una forma de no usar la respuesta enlatada como tal (incluida la responsecita agregada en la dirección de correo electrónico), sino simplemente reenviar la respuesta enlatada a los correos electrónicos filtrados (destinatarios). Así es como esto luce:

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

Las primeras líneas son para determinar el Id. De la respuesta enlatada que desea enviar. La Loggerfunción ayudará a registrar todos los ID de draf. Agregue este Id particular en el getMessageById(Id). Los siguientes tres fragmentos recibirán todos los correos no leídos de la cannedResponseetiqueta y eliminarán los duplicados.
Según los correos electrónicos presentes, las respuestas enlatadas se reenvían a los diferentes destinatarios. Después de eso, todos los correos electrónicos no leídos en la etiqueta cannedResponse se marcan como leídos.

Uso

Agregue el código navegando a la siguiente URL: https://script.google.com .
Asegúrese de presionar el botón "error" para autenticar el script y su uso. El script se puede activar en un intervalo de tiempo. Establezca el disparador en el Resourcesmenú, de la manera que desee.
ingrese la descripción de la imagen aquí

En este caso, hay algunos requisitos previos. Debe tener una etiqueta llamada cannedResponsey tener una respuesta enlatada como borrador. Además, se necesita un filtro para enviar respuestas enlatadas.

Captura de pantalla

ingrese la descripción de la imagen aquí

Jacob Jan Tuinstra
fuente
2

Jacob

Su código era justo lo que estaba buscando. Pero siendo el perfeccionista que soy, encontré algunos problemas con su código:

  • Los correos electrónicos enviados se reenvían en lugar de responderse. Esto agrega un "Fwd:" en la línea de asunto y probablemente levanta algunas cejas en el extremo del receptor.
  • Uso Gmail para consultar mi correo electrónico de trabajo (que no es de Gmail). Su código no funciona bien con esto. Responde al correo electrónico de mi trabajo con mi dirección de Gmail, lo que levantará aún más las cejas en el extremo del receptor.
  • Su configuración requiere un correo electrónico constante en mi carpeta de borradores. Eso me volveria loca.

Modifiqué su código para tener en cuenta estos y aquí está mi versión:

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
fuente