Как получать электронную почту с помощью Amazon SES


18

Я новичок в Amazon Web Services (AWS) и AWS Simple Email Service (SES).

Позволяет ли AWS SES приложению получать электронные письма? Я не смог найти ссылку в руководстве разработчика SES.

Мое приложение требует, чтобы полученные электронные письма для клиента были определены для каждого клиента, и в конечном итоге они будут храниться в базе данных (программно). У каждого клиента будет адрес электронной почты на домене, где размещается приложение.

Например, приложение размещено www.example.comна AWS. Тогда клиенты этого MyApp могут иметь электронную почту , как: john@example.com, barry@example.com, lisa@example.comкак это.

Если это невозможно в AWS SES, предложите варианты (для рассылки большого объема), как это можно сделать в среде AWS?


Подождите. Вы говорите об отправке или получении?
— mailq

Ответы:


9

Amazon SES строго для отправки электронной почты. Если вы хотите получать электронную почту, вам необходимо настроить почтовый транспортный агент (MTA), такой как Sendmail, Postfix, Qmail и т. Д., На экземпляре сервера EC2 и указать записи DNS MX на этот экземпляр. В этом случае вам, вероятно, также потребуется использовать Elastic IP (EIP), чтобы у вас был статический IP. Не говоря уже о том, что вы можете в конечном итоге найти диапазон IP-адресов, потенциально заблокированный определенными DNSBL.

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


22
Это больше не правда. Новое обновление Amazon SES поставляется с добавлением правил получения, которые позволяют хранить электронную почту различными способами.
— Elegant.Scripting

1
Это по-прежнему верно, aws.amazon.com/ses (прочитайте первые две строки), хотя SES имеет возможность получать электронную почту с использованием правил получения, ее нельзя определить как традиционный или личный почтовый ящик.
— Аднан,

41

Сегодня твой большой день! AWS SES теперь начал получать электронную почту: https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html

Обратите внимание, что он не предназначен для использования в качестве личного почтового ящика. Текущие настройки создают идеальную платформу для автоматического получения электронной почты. Идеально подходит для автоматической обработки любых сгенерированных отчетов (например, банковских сообщений, отчетов DMARC, электронных счетов и т. Д.)

Например, вот сообщение, которое было сохранено на S3: https://s3-eu-west-1.amazonaws.com/s3.jakub-boucek.cz/temp/lts0ahe3tucqpoii4ji0g0u3u08nrpuk1g0p3bo1, и это вывод уведомления, доставленного моей конечной точке https : http://pastebin.com/yR3RjjkE


1
Отличная находка, Якуб. Я еще не видел объявление об этом.
— EEAA

1
Мне было сложно настроить SES. Кто-нибудь определил упрощенный учебник? Можно ли настроить Gmail в качестве клиента службы?
— Блонг

Привет @ длинный да, SES очень сложный. Невозможно заставить Gmail (или другого провайдера) сделать это как «клиент» для этого. Это не классический почтовый ящик, SES - машинный процессор для входящих писем. Вы можете использовать SES для перенаправления почты в Gmail. Но это не так просто. Посмотрите на проект AWS Lambda SES Email Forwarder .
— ЯкубБучек

Привет @ JakubBoucek, спасибо, что ответили на мои вопросы. Похоже, мне нужно найти другой подход. Вот кое - что я могу считать: simplyian.com/2015/01/07/...
— Blong

1
@ limasxgoesto0 Используйте любой анализатор MIME, например: github.com/nodemailer/mailparser
— JakubBoucek,

3

Обновление: после того, как я разместил этот ответ, Amazon добавил поддержку для получения электронной почты через SES. Он предназначен для автоматической обработки и не может использоваться как обычный почтовый ящик IMAP. См. Https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html для получения подробной информации.

Устаревший :

Amazon SES предназначен только для отправки электронной почты.

(Источник: http://aws.amazon.com/ses/ )

Amazon Simple Email Service (Amazon SES) - это масштабируемая и экономически эффективная служба массовой и транзакционной отправки электронной почты для предприятий и разработчиков.

Получение электронной почты не так сложно. Определенно проще, чем отправка электронной почты, со всеми ее препятствиями против спама. Как насчет настройки сервера Postfix с виртуальными пользователями? О каком объеме вы думаете?


2
Если вы проголосовали против, я был бы признателен за комментарий о причине. В то время, когда этот ответ был написан (4 года назад), он, конечно, не ошибался.
— Мартейн Химельс

... вы правы, ответ не был неправильным во время публикации. Но сегодня информация неверна. Таким образом, голосование за вас - не о вас, а об информации. Вы могли бы рассмотреть редактирование или обновление с правильной информацией. (только предложение)
— agentv

2

Amazon SES предназначен только для отправки и никогда не получает почту (только отскок).

Вам необходимо подтвердить правильность почтового адреса отправителя. Какой это будет адрес электронной почты, зависит от вас. У вас может быть Freemail-Accounts, учетная запись на вашем почтовом сервере в EC2, учетная запись на вашем почтовом сервере в вашей компании или любая другая учетная запись электронной почты, которой вы владеете. Но это должно быть твоим.


0

Лучший подход, который я нашел, - это установить почтовый сервер dovecot локально. Настройте его на прослушивание 127.0.0.1 и Maildir:

listen = 127.0.0.1
# mail_location = mbox:~/mail:INBOX=/var/mail/%u # Comment this and add next:
mail_location = maildir:~/Maildir

Затем установите s3fs

sudo apt install s3fs
sudo echo "s3fs#mailbox-konkove /home/kes/Maildir/new fuse _netdev,allow_other,profile=mail,uid=1000,gid=1000,use_cache=/tmp/S3,defaults,noatime,endpoint=eu-west-1 0 0" >> /etc/fstab

настроить AWS CLI

И настройте свой почтовый клиент для получения почты ~/Maildirпо протоколу IMAP

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.