Czy istnieje sposób na uniknięcie adresu „+ canned.response” w adresie e-mail za pomocą funkcji stałej odpowiedzi Gmaila


11

Jeśli skonfiguruję filtr i wyślę mu odpowiedź z puszki, Gmail dołącza +canned.responsedo mojej nazwy użytkownika w odpowiedzi.

Na przykład, biorąc pod uwagę filtr „od: foo@example.com do: me@example.com” skonfigurowany do wysyłania odpowiedzi z puszki, kiedy foo@example.comwysyła mi wiadomość e-mail, z której pochodzi odpowiedź z puszki, me+canned.response@example.comzamiast me@example.comujawniać, że używam odpowiedź w puszce.

Czy istnieje sposób, aby tego uniknąć?


4
Z pewnością w ustawieniach Gmaila nic nie kontroluje tego. Mam wrażenie, że odpowiedź brzmi „nie”. Pamiętaj też: jest to (obecnie) funkcja Lab i nie jest w pełni obsługiwana.
ale

Odpowiedzi:


3

Należy pamiętać o bieżącej „odpowiedzi z puszki” dla Gmaila, ponieważ należy go dodać z karty „Laboratoria”.

Oznacza to, że wsparcie może być rzadkie i może całkowicie zniknąć. To szczególne „laboratorium” ma wiele innych dziwactw, które są poza zakresem twojego pytania, ale wierzę, że twoja odpowiedź brzmi „nie”.

Wygląda na to, że powodem odpowiedzi „ + canned.response ” jest zapobieganie pętli e-mail, którą ktoś mógłby niechcący utworzyć, wysyłając wiadomość do siebie lub po prostu odpowiadając.

W moim teście użyłem filtru odpowiedzi opartego na konkretnym „ Od ” ze „ Podmiotem ” zawierającym słowo kluczowe. Odpowiedź z puszki była uruchamiana za każdym razem, z wyjątkiem sytuacji, gdy odpowiedziałem bezpośrednio na odpowiedź z puszki.

Jestem pewien, że większość ludzi może żyć z tym dziwactwem, ale niektóre inne dziwactwa, na które natknąłem się podczas testowania tego, mogą spowodować, że Google wyciągnie to laboratorium.


2

Pomyślałem o sposobie, aby nie używać odpowiedzi w puszce jako takiej (w tym dodanego responsecytatu w adresie e-mail), ale po prostu przekazać dalej odpowiedź w puszce do filtrowanych wiadomości e-mail (odbiorców). Tak to wygląda:

Kod

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

Wyjaśnione

Pierwsze wiersze określają identyfikator odpowiedzi w puszce, którą chcesz wysłać. LoggerFunkcja pozwoli rejestrować wszystkie DRAF identyfikatora. Dodaj ten jeden identyfikator do getMessageById(Id). Następne trzy fragmenty spowodują pobranie wszystkich nieprzeczytanych wiadomości e-mail z cannedResponseetykiety i usunięcie duplikatów.
Na podstawie obecnych wiadomości e-mail odpowiedzi w puszce są przekazywane do różnych odbiorców. Następnie wszystkie nieprzeczytane wiadomości e-mail na etykiecie cannedResponse są oznaczane jako przeczytane.

Stosowanie

Dodaj kod, surfując pod następującym adresem URL: https://script.google.com .
Pamiętaj, aby nacisnąć przycisk „błąd”, aby uwierzytelnić skrypt i jego użycie. Skrypt można uruchamiać w odstępach czasu. Ustaw spust w Resourcesmenu, tak jak lubisz.
wprowadź opis zdjęcia tutaj

W takim przypadku istnieją pewne warunki wstępne. Musisz mieć nazwaną etykietę cannedResponsei mieć gotową odpowiedź jako wersję roboczą. Ponadto należy zainstalować filtr, aby wysyłać odpowiedzi w puszce.

Zrzut ekranu

wprowadź opis zdjęcia tutaj


2

Jakub,

Twój kod był dokładnie tym, czego szukałem. Ale będąc perfekcjonistą, znalazłem kilka problemów z twoim kodem:

  • Wysłane wiadomości e-mail są przekazywane zamiast odpowiedzi. Dodaje to „Fwd:” do linii tematu i prawdopodobnie podnosi kilka brwi na końcu odbiornika.
  • Używam Gmaila do sprawdzania mojej służbowej poczty e-mail (innej niż Gmail). Twój kod nie działa z tym dobrze. Odpowiada na mój służbowy adres e-mail przy użyciu adresu Gmaila, co podniesie jeszcze więcej brwi na końcu odbiornika.
  • Twoja konfiguracja wymaga stałego adresu e-mail w moim folderze wersji roboczych. Doprowadziłoby mnie to do szaleństwa.

Zmodyfikowałem twój kod, aby uwzględnić te i oto moja wersja:

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);
}
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.