Составить шаблон письма и отправить

Сделан в версии 1.4.1 Mensian Ant

Пример будет понятней, если заглянуть на страницу Как пользоваться.

Составить шаблон письма и отправить

Здесь рассмотрен пример почтовой рассылки по данным Excel-файла, где хранится информация по туристам. Наша цель - рассылать напоминалки туристам, вылет которых должен произойти спустя 3 дня.

Понятно, что набор полей у всех разный, в нашем случае он будет таким:

cоставить шаблон письма и отправить

Начнем с добавления этого файла в ресурсы:

cоставить шаблон письма и отправить

Добавим ящик, с которого будут уходить письма:

cоставить шаблон письма и отправить

Приступим к обработке файла. Получим у ресурса активный лист (тот, который был открыт последним):

cоставить шаблон письма и отправить

У листа можно получить срез таблицы. А именно - данные по туристам, которые начинаются с 4 строки:

cоставить шаблон письма и отправить

cоставить шаблон письма и отправить

В ходе работы, можно просматривать результат.

Давайте посмотрим получившийся срез:

cоставить шаблон письма и отправить


Запускаем работу:

cоставить шаблон письма и отправить


Наблюдаем результат. Да, это именно та часть таблицы, которая нам нужна.

cоставить шаблон письма и отправить


Действие было лишь для проверки. Далее оно нам не понадобится. Удаляем.

cоставить шаблон письма и отправить

Теперь нам нужно проделать одни и те же действия над строками таблицы.

Заготавливаем их:

cоставить шаблон письма и отправить


Запоминаем результат под любым неиспользуемым именем:

cоставить шаблон письма и отправить


Кстати, периодически сохраняем работу:

cоставить шаблон письма и отправить

Добавим действия с каждой строкой:

cоставить шаблон письма и отправить


Даем имя:

cоставить шаблон письма и отправить

Ячейки, с нужными нам данными можно искать по номеру в строке, а можно и по букве колонки Excel.

cоставить шаблон письма и отправить


Под латинской буквой A значатся ФИО туристов.

cоставить шаблон письма и отправить


Так и сохраним ячейку в ресурсах под именем ФИО.

cоставить шаблон письма и отправить

С каждой ячейкой следует проделать эти действия. В итоге должен получиться такой набор:

cоставить шаблон письма и отправить

Чтобы определить сколько дней осталось до вылета, нужно знать сегодняшний день.

Это можно сделать, добавив момент запуска работы.

cоставить шаблон письма и отправить


Сравнивать дату вылета с датой рассылки нужно будет не в конце работы, а раньше. На пораньше и перенесём.

Если бы добавили это действие сразу, ничего переносить бы не понадобилось.

Сохраним результат под именем "сейчас".

cоставить шаблон письма и отправить

Теперь сосчитаем количество дней от момента выполнения работы до вылета:

cоставить шаблон письма и отправить

cоставить шаблон письма и отправить

Округляем число:

cоставить шаблон письма и отправить

Задаем условие проверки:

cоставить шаблон письма и отправить

Еще раз: если до вылета туриста остается 3 дня - будем отсылать ему письмо

cоставить шаблон письма и отправить

В ветке ДА будем указывать дальнейшие действия:

cоставить шаблон письма и отправить

Начнем составление письма с помощью конструктора.

Набиваем шаблон письма и в нужные места расставляем блоки (значения в них будут меняться от туриста к туристу) ↓

cоставить шаблон письма и отправить

cоставить шаблон письма и отправить

Действие «создать письмо в почте ...» следует перетащить в ветку ДА.

И последнее - добавляем действие «отправить письмо».

cоставить шаблон письма и отправить

Теперь наша работа выглядит так. Запускаем (дата нашего тестового запуска 25.11.2013):

cоставить шаблон письма и отправить

Наблюдаем результат. На почту одного туриста пришло уведомление (его поездка через 3 дня).

Дополнений в алгоритм можно было бы внести всяческих. Например:

1. Привести дату к нужному виду (дата.месяц.год)

2. После отправки письма ставить отметку в excel, чтобы не спамить в следующий раз

3. Вычислять количество дней путешествия и добавлять в письмо

и т.д. в зависимости от ваших пожеланий

cоставить шаблон письма и отправить


Остались вопросы? Напишите нам или задайте вопрос на форуме