Автоматизация рутины в OS X. Урок 3. Рассылаем спам
Продолжаем учиться писать автоматизирующие скрипты на JavaScript и открывать огромные перспективы повышения личной продуктивности. Описанный ниже пример расскажет как с помощью нескольких строчек кода автоматизировать процесс отправки новогодних поздравлений.
Что мы хотим сделать?
Написать скрипт, который будет отправлять поздравления списку адресатов, вставляя в письма тексты пожеланий из электронной таблицы.
Куда писать код?
- Открыть программу «Редактор скриптов» (Программы -> Утилиты).
- В верхнем меню выбрать Файл ->Новый.
3. На переключателе языков выбрать JavaScript.
Как отправить письмо?
Для этого надо ввести в редакторе несколько строчек кода. Значком // отмечены комментарии:
//Даем краткое имя приложению Mail Mail = Application("Mail"); //Создаем новое сообщение Message = Mail.OutgoingMessage().make(); //Заполняем текст письма Message.content = "Удачи и чудес!"; //Заполняем тему письма Message.subject = "С Новым годом!"; //Делаем сообщение видимым пользователю Message.visible = true; //Добавляем адресата Message.toRecipients.push(Mail.Recipient({address: "irairache@gmail.com"}));
И нажать на кнопку запуска скрипта.
Если все сделано правильно, то откроется приложение Mail и появится автоматически заполненная форма для отправки письма.
Как отправить несколько писем?
Добавляем к коду цикл:
Mail = Application("Mail"); for (i=1;i<=3;i++) { Message = Mail.OutgoingMessage().make(); Message.content = "Удачи и чудес!"; Message.subject = "С Новым годом!"; Message.visible = true; Message.toRecipients.push(Mail.Recipient({address: "irairache@gmail.com"})); }
И вот перед нами три автоматически сгенерированных письма.
Ок. А как отправить письма разным получателям?
Добавляем к коду массив с адресами:
Mail = Application(«Mail»);
// Создаем пустой массив var recipients= new Array();
//Кладем в 1, 2 и 3 элемент массива почтовые адреса recipients[1]=»irarache@gmail.com»; recipients[2]=»somemen@example.com»; recipients[3]=»othermen@example.com»;
// Создаем три письма for (i=1;i<=3;i++) { Message = Mail.OutgoingMessage().make(); Message.content = «Удачи и чудес!»; Message.subject = «С Новым годом!»; Message.visible = true;
// Параметру address присваиваем динамическое значение — элемент массива recipients, соответствующий номеру итерации цикла.
Message.toRecipients.push(Mail.Recipient({address: recipients[i]}));
}
Нажимаем на кнопку запуска скрипта и у нас есть три письма для разных людей.
А есть ли более удобный способ записи адресов?
Да. И один из них мы сейчас разберем. Для начала откроем программу Numbers.
И создадим там таблицы с email адресами и текстами пожеланий, которую сохраним на рабочем столе под именем Contacts.
Немного модифицируем наш код:
Mail = Application("Mail"); //Объявляем короткое имя для приложения Numbers Numbers = Application("Numbers"); //Кладем в переменную путь к файлу var path = Path("/Users/irina/Desktop/Contacts.numbers") //Кладем в другую переменную открытый файл var doc = Numbers.open(path); //Кладем в переменную первую таблицу на первом листе var sheet = doc.sheets[0]; var table = sheet.tables[0]; for (i=1;i<=3;i++) { Message = Mail.OutgoingMessage().make(); //Кладем в переменную значение ячейки с пожеланием var cellText = table.cells["D"+i]; //Заполняем текст письма значением ячейки Message.content = cellText.value(); Message.subject = "С Новым годом!"; Message.visible = true; //Кладем в переменную ячейку с адресом и заполняем ее значение поле «Кому» var cellAdress = table.cells["C"+i]; Message.toRecipients.push(Mail.Recipient({address: cellAdress.value()})); }
Вуаля!
P.S. Небольшое примечание для тех, кто пользуется Gmail через браузер. Аналогичную программу можно также легко написать на Google Apps Script.
Предыдущие публикации из цикла «Автоматизация рутины в OS X» вы можете найти по следующим ссылкам:
- Автоматизация рутины в OS X. Урок 1. Пакетная обработка изображений
- Автоматизация рутины в OS X. Урок 2. Генерация слайдов для презентаций
Что еще смотрят:
- iPhone SE или 6 — какой выбрать
- Как активировать новый айфон
- Как скинуть фото с компьютера на iPhone без iTunes
✅ Подписывайтесь на нас в Telegram, ВКонтакте, и Яндекс.Дзен.
А как сделать так что б отправляло??