Используя простую службу электронной почты AWS (SES), вы можете отправлять свою электронную почту на эти 4 службы:

Это просто фантастика, потому что это позволяет нам выполнять любую дальнейшую обработку наших писем.

Представьте себе случай использования, когда вы получаете отчет от третьей стороны на регулярной основе (ежедневно/еженедельно/ежемесячно и т. д.) с каким-то отчетом о продажах, добавленным в качестве вложения к этому письму, и вам нужно вручную загрузить этот файл, а затем загрузите его в базу данных с помощью API, а затем загрузите в S3 для хранения.

Благодаря службе получения электронной почты SES вам больше не нужно делать это вручную. Все это можно автоматизировать из самой консоли AWS. Вы можете добавлять правила с помощью консоли AWS и отправлять электронные письма в один или во все эти 4 сервиса. В документации AWS есть это изображение, которое как бы объясняет, как вы можете настроить правила получения электронных писем, а затем добавить действия для этих 4 сервисов.

В этом посте я проведу вас через процесс получения вашей электронной почты в корзину S3.

Шаг 1. Создайте и подтвердите личность

В Amazon SES подтвержденная личность — это домен или адрес электронной почты, который вы используете для отправки или получения электронной почты. Прежде чем отправлять электронное письмо с помощью Amazon SES, необходимо создать и подтвердить каждое удостоверение, которое вы собираетесь использовать в качестве адреса «От», «Источник», «Отправитель» или «Путь возврата». Подтверждение личности с помощью Amazon SES подтверждает, что вы владеете им, и помогает предотвратить несанкционированное использование.

Источник: AWS

Это означает, что мы должны доказать, что являемся владельцем этой личности. Идентификатором может быть либо адрес электронной почты, либо домен. Преимущество подтверждения домена заключается в том, что вы можете использовать его для любого адреса электронной почты в этом домене, в то время как с адресом электронной почты вам придется повторить процесс идентификации, если вы хотите использовать более 1 адреса электронной почты. В моем случае я собираюсь использовать идентификацию домена.

Войдите в свою консоль AWS и перейдите в SES. Затем просто нажмите кнопку «Создать личность», которая должна показать вам форму, подобную этой.

После того, как вы добавите свое доменное имя в поле и нажмете «Сохранить», SES сгенерирует некоторый CNAMSE, чтобы вы могли добавить его в свой DNS, чтобы он мог выполнять процесс аутентификации DKIM. Если вы используете службу AWS route53 для DNS и используете ту же учетную запись, с которой вы вошли в систему, все это произойдет автоматически. Но если ваш DNS не настроен таким образом, вы можете получить эти данные записи CNAME из консоли на вкладке «Аутентификация», как показано ниже.

Шаг 2. Публикация записи MX для получения электронной почты Amazon SES

Запись mail exchanger (запись MX) – это конфигурация, которая указывает, какие почтовые серверы могут принимать электронную почту, отправляемую на ваш домен.

Чтобы Amazon SES управлял вашей входящей электронной почтой, вам необходимо добавить запись MX в конфигурацию DNS вашего домена. Созданная вами запись MX относится к конечной точке, которая получает электронную почту для региона AWS, в котором вы используете Amazon SES. Например, конечная точка для региона Запад США (Орегон) — inbound-smtp.us-west-2.amazonaws.com. Полный список конечных точек см. в разделе Регионы и конечные точки Amazon SES.

Источник: AWS

Как указано выше, мы должны установить серверы SES AWS для приема электронных писем от нашего имени. Это довольно просто, все, что вам нужно сделать, это добавить новую запись DNS типа MX со следующим значением

10 inbound-smtp.eu-west-1.amazonaws.com

Не забудьте заменить часть eu-west-1 на свой регион в AWS.

Шаг 3. Добавьте разрешение на получение электронной почты в корзину S3

Чтобы получать электронную почту в корзину S3, вы должны предоставить к ней доступ SES. Вы можете сделать это, добавив эту политику в корзину S3.

P.S: Если у вас есть конфиденциальные данные в электронной почте и вы хотите зашифровать данные на S3, вы можете использовать для этого KMS. Все, что вам нужно сделать, это убедиться, что вы установили этот флажок, когда настраиваете свои действия.

Шаг 4. Создайте набор правил

На данный момент нам удалось подтвердить личность и подготовить корзину S3 для приема электронных писем от SES. Теперь нам нужно указать SES пересылать наши электронные письма на S3.

Перейдите в SES на консоли AWS и нажмите «Получение электронной почты», а затем нажмите «Создать набор правил», который должен привести вас к форме, подобной этой.

Затем добавьте условия получателя, чтобы вы получали сообщения только на определенные адреса электронной почты.

Затем добавьте данные корзины s3 в раздел действий, куда SES будет пересылать ваши письма.

Когда вы просмотрите свои настройки и сохраните их, нажмите кнопку set as active, чтобы начать получать электронную почту.

Вот и все, ребята, вы должны быть готовы получать электронные письма в корзину S3 следующим образом:

И если вы загрузите электронное письмо и откроете его, вы увидите текстовое представление почты, подобное этому

Это здорово, потому что теперь вы можете разобрать это в удобочитаемый формат, используя парсеры почты вроде этого - https://nodemailer.com/extras/mailparser/#options

Спасибо за чтение, и если вы хотите поддержать меня, то, пожалуйста, подпишитесь на меня и поддержите более широкое сообщество, став участником: https://medium.com/@metacollective/membership

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Присоединяйтесь к нашему сообществу Discord.