Есть ли способ избежать «+ canned.response» в адресе электронной почты с помощью функции стандартного ответа Gmail


11

Если я настрою фильтр и отправлю ему стандартный ответ, Gmail добавит +canned.responseмое имя пользователя в ответ.

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

Есть ли способ избежать этого?


4
В настройках Gmail нет ничего, что могло бы это контролировать. У меня есть ощущение, что ответ «Нет». Помните также: это (в настоящее время) функция лаборатории и не полностью поддерживается.
эль

Ответы:


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

Разъяснения

Первые строки должны определить Id готового ответа, который вы хотите отправить. LoggerФункция поможет регистрировать все Draf идентификаторов. Добавьте этот конкретный идентификатор в 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.