Golang Yii2 MongoDB MySQL RestAPI
При работе над собственными проектами или заказами, часто возникает необходимость отправлять email сообщения. При выборе сервиса для триггерных e-mail рассылок, важно учитывать не только возможности управления шаблонами писем, но и качество доставки, техническую поддержку, стоимость услуг и другие параметры, важные для конкретного проекта.
Мы учли все эти факторы при создании нашего собственного сервиса по транзакционным рассылкам.
Транзакционные e-mail сообщения (transaction e-mails) — это электронные сообщения, которые отправляются в автоматическом режиме в ответ на какое-либо действие пользователя. Они могут быть использованы для уведомления пользователей о статусе их заказов, подтверждения регистрации, восстановления пароля и т.д.
Чтобы использовать транзакционные e-mail сообщения, вам нужно:
Существует множество типов транзакционных e-mail сообщений, включая:
Существует два основных варианта для отправки транзакционных писем:
Если вы решите использовать свой SMTP-сервер, то вам придется установить и настроить программное обеспечение на сервере, настроить DNS-записи, обеспечить безопасность и надежность сервера, а также отслеживать метрики, связанные с доставкой писем и прочими показателями.
Использование сторонних сервисов, например, SendGrid, Mailchimp, Amazon SES, Mandrill и др., может значительно упростить процесс отправки транзакционных писем. Такие сервисы предоставляют готовые решения для отправки писем, обеспечивают надежность доставки, мониторинг метрик и другие функции. Однако, использование сторонних сервисов может стоить денег и ограничивать некоторые возможности по настройке и управлению отправкой писем.
При выборе между использованием своего сервера или стороннего сервиса, следует учитывать требования вашего проекта, объем и частоту отправки писем, наличие и квалификацию необходимых ресурсов для поддержки своего SMTP-сервера, а также наличие бюджета для использования платных сторонних сервисов.
Используем шаблонизатор Twig
Для формирования шаблонов писем мы используем Twig — инструмент, который позволяет удобно работать с переменными, циклами и условиями внутри шаблона.
Благодаря использованию Twig, мы можем подставлять в письма динамические данные, такие как имя получателя, ссылки или даты. Кроме того, мы можем использовать циклы для формирования списков товаров, условия для скрытия или отображения различных блоков письма в зависимости от контекста.
Также Twig поддерживает наследование шаблонов, что облегчает процесс создания и обновления шаблонов.
Использование шаблонизатора Twig позволяет нам создавать более гибкие и динамичные шаблоны писем, которые могут адаптироваться к различным условиям и контекстам.
Функция предпросмотра письма:
возможность увидеть, как будет отображаться письмо в списке входящих
При создании шаблонов для писем или рассылок вы можете задать тему письма, предзаголовок, который будет отображаться в некоторых почтовых клиентах, а также использовать смайлы и другие специальные символы, чтобы сделать ваше письмо более привлекательным и легкочитаемым для получателей.
Общие layout для шаблонов
Для создания шаблонов писем в рассылке мы используем технику layout-шаблонов.
Эта техника предполагает разделение шаблона на несколько частей, таких как шапка, подвал и т.д., и использование этих частей в различных шаблонах.
Таким образом, мы можем создавать шаблоны с одинаковой шапкой и подвалом, но с разным содержимым, в зависимости от тематики или цели письма.
Layout-шаблоны позволяют значительно упростить процесс создания и обновления шаблонов, так как изменения, внесенные в общие части, автоматически применяются к всем связанным шаблонам.
Это делает процесс создания и обновления шаблонов более быстрым, удобным и эффективным.
Доставляемость писем
Наш веб-интерфейс предоставляет возможность добавить ваш домен, создать новое имя отправителя и получить инструкции по добавлению dkim и spf подписи для вашего домена. Это позволит гарантировать доставку писем, отправляемых через наш сервис, вашим получателям.
Управление вашими настройками легкое и интуитивно понятное. Вы можете легко настроить и изменить свои настройки домена и отправителя в любое время.
Добавление dkim и spf подписей гарантирует, что ваше письмо будет проходить проверку подлинности при прохождении через различные почтовые сервера, что снижает вероятность того, что ваше письмо попадет в спам-фильтр или не будет доставлено вовсе.
REST API
Мы создали REST API для взаимодействия с нашим сервисом рассылки email сообщений.
REST API обеспечивает стандартизированный интерфейс, позволяющий пользователям отправлять email сообщения через наш сервис, проверять статус отправленных сообщений и получать историю отправленных сообщений.
Создание REST API также позволяет упростить интеграцию нашего сервиса с другими приложениями и сервисами, что может быть полезно для автоматизации процессов рассылки email сообщений.
Использование REST API упрощает разработку клиентских приложений, так как позволяет использовать стандартные протоколы и форматы передачи данных, что уменьшает время разработки и улучшает качество программного кода.
Composer-модуль для php
Пример подключения:
<?php
$token = 'токен_вашего_приложения_сгенерированный_в_личном_кабинете';
$client = new \Devrusspace\Kennwort\ApiClient($token);
Пример отправки письма подписчику на основе шаблона:
<?php
$template = 'user/registration';
$mailTo = ['[email protected]' => 'Имя получателя'];
$params = ['var1' => 'значение переменной для подстановки в шаблон'];
$result = $client->sendEmail($template, $mailTo, $params);
$emailId = $result->email->id; // идентификатор отправленного сообщения
Подробная инструкция на github: https://github.com/devrusspace/kennwort-email-sender
Composer-модуль для yii2 framework
<?php
return [
'components' => [
'kennwort' => [
'class' => 'Devrusspace\KennwortYii2\ApiClient',
'token' => 'ваш_токен_созданный_в_личном_кабинете',
'defaultSenderId' => 'идентификатор_email_из_вашего_списка_отправителей',
],
]
];
Пример отправки письма подписчику на основе шаблона:
<?php
$template = 'user/registration';
$mailTo = ['[email protected]' => 'Имя получателя'];
$params = ['var1' => 'значение переменной для подстановки в шаблон'];
$result = Yii::$app->kennwort->sendEmail($template, $mailTo, $params);
$emailId = $result->email->id; // идентификатор отправленного сообщения
Подробная инструкция на github: https://github.com/devrusspace/yii2-kennwort-email-sender
Мы создали продукт, используя нашу разработку и опыт в данной области, которые мы использовали в течение многих лет работы. Наш продукт основан на передовых технологиях и проверенных методах, что гарантирует его высокую эффективность и качество. Мы постоянно совершенствуем наши технологии, чтобы предоставить нашим клиентам лучший опыт использования продукта.