![](https://habrastorage.org/files/2a8/8d0/93b/2a88d093b02846089c4c7d4fc1916905.jpg)
Челлендж принят! И элегантное решение уже под катом...
В общих чертах реализация выглядит так:
- в mandrill.com настраиваем SMTP, DKIM, SPF (последних два для повышения доли доставленных писем), там же будем смотреть отчеты;
- разворачиваем Drupal, настраиваем отправку html-писем через smtp и модуль webform (он умеет отправлять письма на адрес, указанный в форме);
- закрываем форму от внешнего мира;
- создаем письмо и запихиваем его в нашу форму;
- показываем оператору как авторизоваться и куда вводить адрес приглашаемого.
1. Получаем SMTP с плюшками
Mandrill — это сервис доставки писем от MailChimp. Для нас важно, что он предоставляет SMTP-интерфейс и нужные нам отчеты. Вместо него можно взять и другой подобный. Итак:
- регистрируйтесь, и сразу идите в раздел Settings, добавьте API Key, он будет паролем, здесь же SMTP-реквизиты;
- далее в подраздел Sending Domains для подтверждения домена, активации DKIM и добавления SPF-записи (вам потребуется доступ к DNS домена с которого будут отправляться письма, рекомендую ПДД от Яндекса или cloudflare.com).
На этом же шаге вам стоит определиться с адресом, с которого письма будут уходить. Также рекомендую настроить пересылку писем от туда к себе, т.к. люди будут писать в ответ на вашу рассылку.
Стоит отметить, что на старте вам будет доступно 12 000 бесплатных писем и 250 отправлений в час. Далее квота будет расти, если вы не спамите. Или падать, как у нас, если забудете добавить ссылку отписки от рассылки.
2. Разворачиваем Друпал и настраиваем отправку писем
Дабы не усложнять задачу, предлагаю вам скачать преднастроенную сборку. Вам остается только распаковать файлы в папке хоста, залить дамп в базу и поменять реквизиты подключения к базе данных в файле /sites/default/settings.php (со строки 18). Пароль администратора в архиве.
И немного настроек:
- Идите в /admin/config/system/site-information (Конфигурация -> Информация о сайте) и укажите email с которого будите отправлять письма в поле “E-mail адрес”.
- А теперь в /admin/config/system/phpmailer (Конфигурация -> PHPMailer) и заполните поля данными из mandrillapp.com/settings/index (здесь же можно указать свой email, чтобы проверить настройки):
- Форма доступна только авторизованным пользователям, а регистрация новых пользователей — только администратору, поэтому вам нужно зарегистрировать аккаунты (или несколько) для операторов колл-центра. Для этого идете на /admin/people/create (Пользователи -> Добавить пользователя) и заполняете все поля (роль ни какую не ставим, а вот уведомить о создании учетки может быть удобно):
Если сделаете несколько аккаунтов, то сможете потом посмотреть на продуктивность операторов на странице Результаты (закладка на главной). Кстати, да, форма выводится как главная страница.
- Ну и осталось настроить само письмо. На следующем шаге мы разберемся с кодом письма, а пока давайте сделаем что-нибудь тестовое:
- идите на страницу /node/6/webform/emails/1 (на странице формы: Опросник -> Настройка оповещений -> Правка напротив единственного оповещения) и укажите имя и адрес отправителя, тему письма;
- в поле “Шаблон e-mail” можно указать что-нибудь html-содержащее, позже мы сюда вернемся со своим кодом письма;
- сохраняйте все и отправляйте тестовое приглашение (с главной), письмо должно прийти.
Кстати, если вам потребуется слать не простые статичные письма, а что-нибудь посложнее, то можно добавить полей в форму и вставлять их значение в письмо через токены.
3. Собираем письмо
Прежде всего, хочу напомнить, что письма должны быть особым образом сверстаны. На хабре много статей на этот счет. Возможно, в комментариях подскажут сносный конструктор, который позволяет получить код письма. Я же стянул код из рассылки, которую мы делали в аналоге MailChimp (через ссылку на веб-версию письма). В следующий раз попробую использовать github.com/mailgun/transactional-email-templates.
4. Profit!
Осталось только дать оператору адрес где вы развернули сайт, логин, пароль и письма полетели:
![](https://habrastorage.org/files/62f/931/e7e/62f931e7e9bc420eaff30b2f4da3a4b4.png)
Вот и все, что я хотел рассказать про отправку писем колл-центром. Что думаете, коллеги?