Чи є спосіб уникнути "+ canned.response" в електронній адресі за допомогою функції консервованого відповіді Gmail


11

Якщо я встановив фільтр і надішлю йому відповідь у консервованому вигляді, Gmail додасть +canned.responseдо відповіді моє ім’я користувача.

Наприклад, якщо фільтр «від: foo@example.com до: me@example.com» налаштувати відправити шаблонний відповідь, коли foo@example.comпосилає мені по електронній пошті консервований відповідь приходить від me+canned.response@example.comзамість того me@example.com, оголюючи , що я використовую консервована відповідь.

Чи є спосіб цього уникнути?


4
У налаштуваннях Gmail, безумовно, немає нічого, що це контролює. У мене є відчуття, що відповідь - «Ні». Пам'ятайте також: Це (на даний момент) функція Lab і не підтримується повністю.
але

Відповіді:


3

Що слід пам’ятати про поточну «консервовану відповідь» для Gmail, це те, що її потрібно додати на вкладці «Лабораторії».

Це означає, що може бути розріджена підтримка і вона може повністю зникнути. Цей конкретний "Лабораторія" має ряд інших примх, які не входять у сферу вашого питання, але я вважаю, що ваша відповідь - "Ні".

Виявляється, що причина " + canned.response " полягає в тому, щоб запобігти певній циклі електронної пошти, яку хтось може ненавмисно створити, відмовившись у повідомленні або навіть просто відповіді.

У своєму тесті я використовував фільтр для відповіді на основі конкретного " Від " із " Темою ", що містить ключове слово. Консервована відповідь спрацьовувала кожен раз, за ​​винятком випадків, коли я відповідав безпосередньо на відповідь.

Я впевнений, що більшість людей можуть жити з цією вигадкою, але деякі інші химерності, з якими я зіткнувся при тестуванні цього, можуть призвести до того, що Google витягне цю лабораторію.


2

Я придумав спосіб не використовувати консервовану відповідь як таку (включаючи додану responseцитату на адресу електронної пошти), а просто переслати консервовану відповідь на відфільтровані електронні листи (одержувачі). Ось як це виглядає:

Код

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

Пояснив

Перші рядки - це визначення ідентифікатора відповіді, що ви хочете надіслати. Ця Loggerфункція допоможе записати всі драфіфіковані ідентифікатори. Додайте цей конкретний ідентифікатор до getMessageById(Id). Наступні три фрагменти отримають усі непрочитані листи від cannedResponseмітки та видалять дублікати.
На підставі наявних електронних листів відповіді в консервованому вигляді передаються різним одержувачам. Після цього всі непрочитані електронні листи на етикетці cannedResponse позначаються як прочитані.

Використання

Додайте код за допомогою серфінгу до наступної URL-адреси: https://script.google.com .
Переконайтесь, що натисніть кнопку "помилка" для автентифікації сценарію та його використання. Сценарій може бути запущений на часовому інтервалі. Встановіть в Resourcesменю тригер , як вам подобається.
введіть тут опис зображення

У цьому випадку є деякі передумови. Потрібно мати етикетку під назвою cannedResponseта відповісти на консерви як чернетку. Крім того, потрібен фільтр, щоб надсилати консервовані відповіді.

Знімок екрана

введіть тут опис зображення


2

Яків,

Ваш код був саме тим, що я шукав. Але будучи перфекціоністом, який я є, я знайшов декілька проблем із вашим кодом:

  • Надіслані електронні листи передаються замість них. Це додає "Fwd:" в тему і, ймовірно, піднімає кілька брів на кінці приймача.
  • Я використовую Gmail, щоб перевірити свою (не Gmail) робочу електронну пошту. Ваш код не працює з цим. Він відповідає на мій робочий лист із моєю адресою Gmail, що підніме ще більше брів на кінці приймача.
  • Ваша установка вимагає постійної електронної пошти в моїй папці чернетів. Це зводило б мене з розуму.

Я змінив ваш код, щоб враховувати ці, і ось моя версія:

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);
}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.