Gmail сам по себе уже является очень мощным почтовым клиентом. С помощью фильтра вы даже можете настроить автоматизацию, чтобы лучше организовать свой почтовый ящик. Однако для опытного пользователя фильтра недостаточно. Вот 5 скриптов Google, которые можно использовать для дальнейшей автоматизации Gmail.
1. Автоматическое удаление писем через X дней.
Очень часто, прочитав письмо, мы просто сохраняем его в своем почтовом ящике, независимо от того, полезно оно или нет. Хотя Google дает вам много места для хранения ваших писем, вы все равно можете очистить свой почтовый ящик и избавиться от этих бесполезных писем. Следующий скрипт может проверять электронные письма с меткой "Удалить меня" и удалять их через "x" дней.
1. Перейдите в Google Scripts и создайте пустой проект (убедитесь, что вы вошли в свою учетную запись Google).
Вставьте следующий скрипт и сохраните его.
function auto_delete_mails(){ var label=GmailApp.getUserLabelByName("Delete Me"); if(label==null){ GmailApp.createLabel('Delete Me'); }else{ var delayDays=2// Enter # of days before messages are moved to trash var maxDate=new Date(); maxDate.setDate(maxDate.getDate()-delayDays); var threads=label.getThreads(); for(var i=0; i threads.length; i++){if(threads[i].getLastMessageDate()maxDate){ threads[i].moveToTrash(); }}}}
Вы можете изменить количество дней (в разделе delayDays
), которое должно пройти, прежде чем это электронное письмо будет удалено из вашего почтового ящика. Установите триггер (Ресурсы -> Триггеры текущего проекта -> Добавить сейчас), чтобы запускать его ежедневно.
После активации он создаст ярлык "Удалить меня" в вашей учетной записи Gmail. Все, что вам нужно сделать, это пометить нежелательные электронные письма этим ярлыком, и они будут удалены по истечении дня истечения срока действия (как установлено в delayDays
.
2. Отложите электронную почту
Иногда, прочитав письмо, вы хотите, чтобы оно вернулось в ваш почтовый ящик через несколько дней. Это можно сделать с помощью следующего скрипта Google:
1. Создайте новый скрипт Google со следующим кодом:
var MARK_UNREAD=true;var ADD_UNSNOOZED_LABEL=false; function getLabelName(i){return"Snooze/Snooze " + i + " days";}function setup(){// Create the labels we’ll need for snoozing GmailApp.createLabel("Snooze"); for(var i=1; i =7; ++i){ GmailApp.createLabel(getLabelName(i)); }if(ADD_UNSNOOZED_LABEL){ GmailApp.createLabel("Unsnoozed"); }}function moveSnoozes(){ var oldLabel, newLabel, page; for(var i=1; i =7; ++i){ newLabel=oldLabel; oldLabel=GmailApp.getUserLabelByName(getLabelName(i)); page=null; // Get threads in"pages" of 100 at a timewhile(!page || page.length==100){ page=oldLabel.getThreads(0, 100); if(page.length >0){if(newLabel){// Move the threads into "today’s" label newLabel.addToThreads(page); }else{// Unless it’s time to unsnooze it GmailApp.moveThreadsToInbox(page); if(MARK_UNREAD){ GmailApp.markThreadsUnread(page); }if(ADD_UNSNOOZED_LABEL){ GmailApp.getUserLabelByName("Unsnoozed") .addToThreads(page); }}// Move the threads out of "yesterday’s" label oldLabel.removeFromThreads(page); }}}}
Затем сохраните его и запустите функцию "Настройка". Это добавит несколько новых меток к вашим сообщениям Gmail (например, "Отложить на 2 дня", "Отложить на 7 дней" и т. Д.). Наконец, просто добавьте триггер для "moveSnoozes", который будет запускаться каждый день. Теперь электронные письма, помеченные меткой "Отложить", будут возвращаться в папку "Входящие" со статусом "непрочитанные" по прошествии определенного количества дней. (через блог Gmail)
3. Отправляйте SMS для важных писем.
Этот скрипт Google использует функцию SMS Календаря Google, чтобы отправлять вам SMS с важными сообщениями электронной почты.
1. Создайте новый скрипт Google со следующим кодом:
function Gmail_send_sms(){ var label=GmailApp.getUserLabelByName("Send Text"); if(label==null){ GmailApp.createLabel('Send Text'); }else{ var threads=label.getThreads(); var now=new Date().getTime(); for(var i=0; i threads.length; i++){ var message=threads[i].getMessages()[0]; var from=message.getFrom(); var subject=message.getSubject(); CalendarApp.createEvent(subject, new Date(now+60000), new Date(now+60000), {location: from}).addSmsReminder(0); } label.removeFromThreads(threads); }}
2. Сохраните его и установите триггер на запуск каждые 5 минут.
3. Наконец, вы должны установить фильтр, чтобы добавить метку "Отправить текст" ко всем важным входящим электронным письмам. Скрипт будет сканировать ваш почтовый ящик каждые 5 минут, и когда он обнаружит электронное письмо с меткой "Отправить текст", он немедленно создаст событие в Google Календаре, которое затем вызовет SMS.
4. Запланируйте отправку электронной почты на более поздний срок.
Бумеранг - это веб-сервис, который можно использовать для планирования отправки электронных писем на более поздний срок, но для этого необходимо установить расширение для браузера. Gmail Delay Send - это скрипт Google, который может выполнять ту же задачу.
1. Перейдите по этой ссылке и щелкните ссылку "Установить". После того, как вы авторизуете скрипт для доступа к вашему Gmail, он перенаправит вас на другую страницу, где вы можете настроить скрипт.
2. После настройки вы можете перейти к составлению черновика электронного письма и указать дату и время его отправки в будущем и сохранить его как черновик с меткой "GmailDelaySend / ToSend".
5. Сохраните сообщение Gmail в формате PDF на Google Диске.
Если у вас есть электронное письмо, которое вы хотите заархивировать на Google Диске, вы можете использовать скрипт Google, чтобы сохранить его в формате PDF в своей учетной записи на Google Диске. Следующий скрипт сохранит все сообщения в цепочке писем как один файл PDF на вашем Google Диске. Если он поставляется с вложениями, он создаст папку и сохранит в ней сообщения и вложения.
1. Создайте новый скрипт Google со следующим кодом:
function save_Gmail_as_PDF(){ var label=GmailApp.getUserLabelByName("Save As PDF"); if(label==null){ GmailApp.createLabel('Save As PDF'); }else{ var threads=label.getThreads(); for(var i=0; i threads.length; i++){ var messages=threads[i].getMessages(); var message=messages[0]; var body=message.getBody(); var subject=message.getSubject(); var attachments=message.getAttachments(); for(var j=1;jmessages.length;j++){ body +=messages[j].getBody(); var temp_attach=messages[j].getAttachments(); if(temp_attach.length>0){for(var k=0;ktemp_attach.length;k++){ attachments.push(temp_attach[k]); }}}// Create an HTML File from the Message Body var bodydochtml=DocsList.createFile(subject+'.html', body, "text/html") var bodyId=bodydochtml.getId(); // Convert the HTML to PDF var bodydocpdf=bodydochtml.getAs('application/pdf'); if(attachments.length >0){ DocsList.createFolder(subject); var folder=DocsList.getFolder(subject); for(var j=0; j attachments.length; j++){ folder.createFile(attachments[j]); Utilities.sleep(1000); } folder.createFile(bodydocpdf); }else{ DocsList.createFile(bodydocpdf); } DocsList.getFileById(bodyId).setTrashed(true); label.removeFromThread(threads[i]); }}}
2. Сохраните его и установите для него триггер для регулярного запуска. Всякий раз, когда вы хотите сохранить электронное письмо и его вложения на Google Диск, просто пометьте его меткой "Сохранить в PDF".
Заключение
С помощью Google Script вы можете делать множество вещей со своим Gmail, Документами Google, Календарем и различными приложениями Google. Если у вас есть какой-либо другой скрипт Google, который вы используете, чтобы улучшить свою жизнь, не стесняйтесь поделиться им с нами в комментарии.
Изображение предоставлено: файлы cookie Gmail
17 комментариев
Комментарии закрыты.
Вау, спасибо за понимание.
Для "5. Сохранить сообщение Gmail в формате PDF на Google Диске ": я могу запустить сценарий, и папка и файлы (вложения) будут созданы, но я получаю сообщение об ошибке на Google Диске, когда пытаюсь открыть любой из них. Только само электронное письмо (преобразованное в PDF) открывается нормально.
У кого-нибудь еще есть эта проблема или знает, что я делаю не так?
Я внес некоторые изменения в сценарий. Теперь насадка должна открыться правильно.
Работает отлично. Спасибо! Благодарю за внимание к этому.
Это так круто. Просто использовал "Сохранить электронную почту как PDF-файлы". Любые другие скрипты, которые мы изучаем. Классно. ЭТО скалы.
Привет, Дэмиен, я получил эту ошибку Ошибка: invalid_client, когда продолжаете авторизацию, пожалуйста, помогите мне исправить это.
На каком этапе вы получили эту ошибку?
Как сделать так, чтобы функция автоматического удаления работала для суб-ярлыков? То есть [Gmail] / Ebay
Сценарий ищет метку "Удалить меня". Если вы хотите, чтобы это работало для других ярлыков, просто измените текст "Удалить меня" на желаемый ярлык в скрипте.
Можно ли иметь скрипт Gmail для открытия определенного письма?
применяет ли gmail метку времени, когда электронное письмо помечено меткой?
есть ли способ сохранить электронное письмо в электронной таблице, поскольку оно помечено меткой? или когда ярлык убирают?
Re: 5. Сохранить сообщение Gmail в формате PDF на Google Диске
// А. В этом разделе я добавил "EM", чтобы указать, что источник был из электронной почты.
var bodydochtml=DocsList.createFile (‘EM‘ + subject + ‘.html’, body, "text / html")
var bodyId=bodydochtml.getId ();
// Б. Я ценю HTML-файл, поэтому включил его в папку, когда есть документ.
{DocsList.createFolder (от);
var folder=DocsList.getFolder (from);
for (var j=0; j {folder.createFile (attachments [j]); Utilities.sleep (1000); }
{folder.createFile (bodydocpdf);}
// Добавлен
folder.createFile (bodydochtml);}
еще
// С. Здесь я изменил, чтобы поместить в папку все материалы, даже если нет вложения
{DocsList.createFolder (из);
var folder=DocsList.getFolder (из);
{folder.createFile (bodydocpdf); Utilities.sleep (1000);}
folder.createFile (bodydochtml); }
// D. Я добавил эту следующую строку, чтобы предотвратить скрытие потоков без метки.
Он просто перемещает поток в корзину электронной почты, где его можно удалить без поиска
. Или поместите обратно в исходную этикетку для других целей.
// Добавлено
{thread [i] .moveToTrash ();}
DocsList.getFileById (bodyId) .setTrashed (true);
label.removeFromThread (thread [i]);
}
}
}
Я хочу получить некоторые данные из crbug, которые я делаю с помощью функции importxml.
однако он извлекает данные с помощью учетной записи общего доступа, данные меняются.
перед получением данных из crbug я хочу войти в систему для отладки, используя свои учетные данные.
пожалуйста, дайте мне знать, как это сделать.
Замечательно, я попробовал пару вещей, и это сработало!
Спасибо, что поделился
Есть ли простой способ изменить это так, чтобы все сообщения в метке были объединены в один и тот же PDF-файл? Это упростило бы архивирование наборов сообщений.
Отличные скрипты, большое спасибо. При сохранении электронного письма в формате PDF должны ли сохраняться изображения в теле письма? Форматирование и ссылки хорошие, я просто получаю пустые обведенные места, где должны быть изображения. Спасибо за любую помощь!
№5 красивый сценарий. есть ли способ сохранить PDF-файлы в определенной папке, даже если в ней нет вложений?