Да, всего 5. И требуется всего 10 минут, чтобы с нуля превратиться в полностью работающий и развернутый инструмент.
В этом посте я расскажу, как быстро создать трекер электронной почты (инструмент, который позволяет узнать, когда отправленное вами электронное письмо было прочитано) с помощью Google Cloud Functions и Google Cloud Storage. Он также может служить простым руководством, если вы хотите узнать, как развернуть функцию Google Cloud.
Меня продолжает удивлять, насколько простым стало создание и развертывание программного обеспечения. Google Cloud, AWS и Microsoft Azure замечательно справляются со своей работой по коммерциализации разработки, развертывания и обслуживания практически любого приложения. 5 строк кода. Это все, что вам осталось сделать.
Как это будет работать?
Что ж, идея проста.
1.Создайте облачную функцию, которая:
- Напишите строку журнала о полученном запросе, включая его параметры URL
- Показывать изображение, которое было загружено в любое место в Интернете.
2. Добавьте изображение в свое сообщение электронной почты как объект HTML с уникальным параметром URL (скопируйте его со страницы HTML, а не просто прикрепляйте)
3. Следите за журналами функции. Строка будет написана после открытия электронного письма.
После запуска поток будет выглядеть так:
Как это сделать? (Длинная / полная версия)
Предпосылки:
- Редактор JavaScript. Я использую WebStorm (который имеет бесплатную студенческую лицензию), но вы также можете использовать любой другой редактор, например VSCode.
- Библиотеки JavaScript. WebStorm имеет встроенные функции. В других случаях вам может потребоваться установить среду NodeJS или что-то подобное.
Как это сделать? (Укороченная версия)
Если вы запутались, попробуйте видео в длинной версии для полного прохождения.
Я буду использовать Firebase, но эта идея может одинаково хорошо работать с другими облачными платформами, такими как AWS или Azure.
- Создайте Пользователь и проект Firebase. Назовем его my_email_track. Вам нужно будет перейти на тарифный план Pay-As-You-Go. (Не волнуйтесь, у вас 125K звонков в месяц бесплатно)
2. Загрузите изображение в Firebase Storage. Назовем его image.png. Это может быть любое изображение, я использовал одиночный белый пиксель.
3. Установите, войдите и инициализируйте Firebase в своем любимом редакторе JS.
4. Создайте следующую функцию
Эта функция записывает строку журнала с параметром HTTP-запроса и обслуживает загруженное нами изображение.
5. (Для каждого отправленного письма) Используйте свой любимый редактор HTML, чтобы создать простой файл HTML. Я использую Редактор W3Schools как самый быстрый способ. В редакторе создайте ‹img› с src, установленным на URL-адрес только что развернутой функции, и добавьте уникальное значение в качестве параметра. например
<img src="https://us-central1-myemailtrack-1bac8.cloudfunctions.net/imageLogger?test123">
здесь test123 - уникальное значение, которое идентифицирует этот конкретный адрес электронной почты. Сгенерируйте HTML-страницу и скопируйте созданное изображение.
6. Вставьте копию в электронное письмо. Обратите внимание, что журналы функции уже будут включать 2 строки журнала. Один - от создания HTML-страницы на шаге 5, а другой - от вставки изображения в электронное письмо.
7. Отправьте электронное письмо. Как только получатель откроет письмо, в третьей строке журнала будет написано: Received a request from {"test123" : ""}
включая временную метку и Voilà, вы можете узнать, когда письмо было прочитано.
Что дальше?
Это всего лишь простой пример того, как начать. У нас есть работающая облачная функция, мы настроили облачное хранилище, и варианты бесконечны. Мы можем добавить IP-адрес чтения, отправить другое изображение в зависимости от параметра и многое другое.
Есть вопросы? Какие уроки мне делать дальше? Пожалуйста, дайте мне знать в комментариях.