Автоответчик на запросы доступа к файлам в гугл почте
- вторник, 6 июня 2023 г. в 00:00:13
Недавно мне потребовалось сделать так, чтобы при запросе доступа к файлу на гугл диске через почту отправлялся автоответ. С помощью гугл скриптов я разобрался как это сделать и хотел бы показать это на примере в этой статье.
Как это работает: гугл скрипт ищет непрочитанные электронные письма с запросом на доступ к файлу и отправляет по почте автоответ один раз в сутки, после этого письмо-запрос вместе с автоответом перемещаются в корзину. Если человек напишет вам в эту цепочку, то письмо окажется во входящих.
Для того чтобы понять на какие письма будет приходить автоответ сделайте запрос в почте is:inbox is:unread Запрос доступа к файлу
На моём скриншоте ничего нет, потому что все файлы уже были обработаны скриптом.
Вот шаги для создания скрипта Google Apps, который будет рассылать авто ответы на запросы доступа к файлам:
Откройте Google Диск и выберите «Создать» > «Ещё» > «Google Apps Script». Это откроет редактор скриптов.
В редакторе скриптов удалите код по умолчанию и добавьте следующее:
// Подробное описание в статье https://habr.com/ru/articles/739168/
function autoReply() {
for (const filename of [
`Имя файла 1`,
`Имя файла 2`,
`Имя файла 3`
]) {
var threads = GmailApp.search(`is:inbox is:unread Запрос доступа к файлу "${filename}"`);
for (var i = 0; i < threads.length; i++) {
var thread = threads[i];
console.log(`Результат поиска: "${filename}": ${i} из ${threads.length}:\n---- ${thread.getMessages()[thread.getMessageCount() - 1].getReplyTo()};`)
from = thread
.getMessages()[thread.getMessageCount() - 1].getFrom()
.split(' (через')[0]
.replace(/\"/g, '')
thread.reply(`Привет, ${from}!\nБлагодарю Вас за интерес к моему файлу "${filename}". Бла бла бла \n\nС уважением, Михаил Шардин.`);
GmailApp.moveThreadsToTrash(threads.slice(i, i + 1));
console.log(`Был обработан и удалён запрос от ${thread.getMessages()[thread.getMessageCount() - 1].getReplyTo()} к ${filename}`)
}
}
}
Сохраните сценарий, выбрав «Файл» > «Сохранить». Назовите скрипт, например, «Gmail auto-responder».
Запустите сценарий, щелкнув Выполнить, выбрав autoReply
. Это отправит письма на адреса тех кто запрашивал доступ к файлам, но только если у вас уже есть запросы, то есть запрос в почте is:inbox is:unread Запрос доступа к файлу
не пустой.
Добавьте триггер для автоматического запуска скрипта. Перейдите в «Триггеры текущего проекта». Нажмите «Добавить новый триггер» и выберите «Управляемый временем», чтобы запускать скрипт например один раз в день или даже раз в несколько минут.
Это важная часть и я уделил этому достаточно большое место в статье, ведь получатель увидит только её. Можно руководствоваться несколькими правилами:
Приветствуйте отправителя по имени, если оно указано.
Вы можете получить имя отправителя из сообщения Gmail, используя: var senderName = message.getFrom().split("<")[0].trim();
Поблагодарите отправителя за запрос на доступ к файлу. Например:Спасибо за ваш запрос на доступ к файлу.
Укажите, что это автоматический ответ. Например:Это автоматический ответ системы запросов на доступ к файлам.
Укажите предполагаемые сроки ответа на запрос. Например: Мы стараемся отвечать на все запросы на доступ к файлам в течение 2 рабочих дней.
Сообщите отправителю, чего ожидать в полном ответе.
Еще раз поблагодарите отправителя за терпение и понимание. Например: Еще раз спасибо за ваше терпение и понимание.
Заканчивайте вежливо и профессионально. Например: С наилучшими пожеланиями, [Ваше имя]
Вот несколько способов использования скрипта Google Apps для автоматического ответа на запросы доступа к файлам по электронной почте:
Скрипт может проверять наличие новых непрочитанных писем, содержащих строку Запрос доступа к файлу
и автоматически отправлять ответ. Это избавляет от необходимости вручную проверять каждый запрос и отвечать на него.
Он может заполнять электронное письмо с автоматическим ответом деталями, характерными для каждого запроса, такими как имя отправителя, дата запроса и т. д. Это делает каждый ответ более персонализированным.
Автор: Михаил Шардин,
5 июня 2023 г.