Да, всего 5. И требуется всего 10 минут, чтобы с нуля превратиться в полностью работающий и развернутый инструмент.

В этом посте я расскажу, как быстро создать трекер электронной почты (инструмент, который позволяет узнать, когда отправленное вами электронное письмо было прочитано) с помощью Google Cloud Functions и Google Cloud Storage. Он также может служить простым руководством, если вы хотите узнать, как развернуть функцию Google Cloud.

Меня продолжает удивлять, насколько простым стало создание и развертывание программного обеспечения. Google Cloud, AWS и Microsoft Azure замечательно справляются со своей работой по коммерциализации разработки, развертывания и обслуживания практически любого приложения. 5 строк кода. Это все, что вам осталось сделать.

Как это будет работать?

Что ж, идея проста.

1.Создайте облачную функцию, которая:

  • Напишите строку журнала о полученном запросе, включая его параметры URL
  • Показывать изображение, которое было загружено в любое место в Интернете.

2. Добавьте изображение в свое сообщение электронной почты как объект HTML с уникальным параметром URL (скопируйте его со страницы HTML, а не просто прикрепляйте)

3. Следите за журналами функции. Строка будет написана после открытия электронного письма.

После запуска поток будет выглядеть так:

Как это сделать? (Длинная / полная версия)

Предпосылки:

  1. Редактор JavaScript. Я использую WebStorm (который имеет бесплатную студенческую лицензию), но вы также можете использовать любой другой редактор, например VSCode.
  2. Библиотеки JavaScript. WebStorm имеет встроенные функции. В других случаях вам может потребоваться установить среду NodeJS или что-то подобное.

Как это сделать? (Укороченная версия)

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

Я буду использовать Firebase, но эта идея может одинаково хорошо работать с другими облачными платформами, такими как AWS или Azure.

  1. Создайте Пользователь и проект Firebase. Назовем его my_email_track. Вам нужно будет перейти на тарифный план Pay-As-You-Go. (Не волнуйтесь, у вас 125K звонков в месяц бесплатно)

2. Загрузите изображение в Firebase Storage. Назовем его image.png. Это может быть любое изображение, я использовал одиночный белый пиксель.

3. Установите, войдите и инициализируйте Firebase в своем любимом редакторе JS.

4. Создайте следующую функцию

Эта функция записывает строку журнала с параметром HTTP-запроса и обслуживает загруженное нами изображение.

4. Развернуть функцию

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-адрес чтения, отправить другое изображение в зависимости от параметра и многое другое.

Есть вопросы? Какие уроки мне делать дальше? Пожалуйста, дайте мне знать в комментариях.