Как реализовать входящую электронную почту на Amazon AWS?

Я относительно новичок в AWS, но я пытаюсь выяснить, как заставить AWS получать электронные письма. Согласно этому сообщению Как настроить учетные записи электронной почты, как support@xyz.com или feedback@xyz.com на AWS SES обрабатывает только исходящую электронную почту.

то, что я надеюсь достичь, это способность фильтровать псевдонимы. Например, если псевдоним "xyz12alias", то любое письмо, отправленное "xyz12alias@mydomain.co", может видеть электронную почту и обрабатывать контент соответствующим образом. Что на мой case будет хранить его в учетной записи, связанной с фильтром.

может ли кто-нибудь направить меня к стратегии или сервису в AWS, которые позволят мне реализовать входящую электронную почту на Amazon AWS?

https://postmarkapp.com/inbound кажется, дает мне то, что я хочу, но есть ли что-нибудь в самой структуре AWS? Существуют ли альтернативные сервисы для postmarkapp?

спасибо.

5 ответов


Amazon Simple Email Service только что представила поддержку входящей электронной почты:

https://aws.amazon.com/about-aws/whats-new/2015/09/amazon-ses-now-supports-inbound-email/

в дополнение к предложению масштабируемой, экономически эффективной отправки электронной почты платформа, Amazon SES теперь может принимать входящие электронные письма. Вы можете настройка Amazon SES для доставки сообщений в корзину Amazon S3, вызов пользовательского кода с помощью функции AWS Lambda или публикация уведомления в Amazon SNS. Можно также настроить удаление Amazon SES или недоставку сообщений, которые вы не хотите получать. Если вы решите хранить сообщения в Amazon S3, Amazon SES могут шифровать почту с помощью AWS Служба управления ключами (KMS) перед записью в корзину.

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

вы также можете использовать правила получения для управления сообщениями Amazon SES могу принять от вашего имени. Другой метод фильтрации-настройка пользовательские списки блоков IP-адресов и списки разрешений. Если ты знаешь, что ты ... не хотите получать почту, исходящую с определенного IP-адреса диапазон, просто добавьте его в IP-адрес вашей учетной записи список адресов. Вы можете также переопределите списки блоков, добавив диапазоны IP-адресов в allow список, который обеспечивает мелкозернистый контроль над входящей электронной почтой трафик.


вам придется настроить свой собственный сервер; это способ справиться с ним с помощью AWS. Они не предоставляют ничего, кроме службы массовой доставки электронной почты. Несколько ссылок ниже:

http://jeffreifman.com/how-to-install-your-own-private-e-mail-server-in-the-amazon-cloud-aws/

http://cerebellumstrategies.com/2012/04/15/amazon-linux-postfix-dovecot/

Update: теперь в AWS доступно решение, как указано в комментарии ниже.


по-прежнему не представляется возможным на SES. Я бы рекомендовал смотреть на мандрил и хотя у SendGrid.

http://mandrill.com/features/

https://sendgrid.com/docs/API_Reference/Webhooks/parse.html


вот как использовать Amazon и любой виртуальный сервер для доставки электронной почты из SES в локальную учетную запись IMAP. Этот план касается стабильных операций: каждый шаг находится под нашим контролем.

  1. есть SES получать электронные письма
  2. и доставить в ведро S3 и отправить уведомление в тему SNS
  3. подписаться на это уведомление с протоколом HTTPS
  4. используйте aws / aws-php-sns-message-validator и напишите небольшой PHP-скрипт, чтобы оживить уведомления от SNS через HTTPS
  5. SNS отправляет только messaged ID-S, поместите их в файл
  6. установите incron на свой сервер, чтобы запустить сценарий оболочки, который загружает эти сообщения из корзины S3 с помощью s3cmd и доставляет в локальную учетную запись IMAP с помощью sendmail
  7. используйте любой сервер IMAP, я использую Курьер IMAP
  8. читайте ваши сообщения, например, Rainloop webmail
  9. используйте SES также для отправки исходящих писем

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

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

Если вы хотите прочитать сообщение в читаемый человеком формат, вам нужно написать свой собственный код для форматирования. Например, используя Serverless Lambda SES forwarder включает в себя, код NodeJS работает в лямбда для преобразования необработанной электронной почты в удобочитаемый формат и переслать получателю электронной почты.