Как получать электронную почту с помощью 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?

java_pill
источник
Подождите. Вы говорите об отправке или получении?
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

JakubBoucek
источник
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, учетная запись на вашем почтовом сервере в вашей компании или любая другая учетная запись электронной почты, которой вы владеете. Но это должно быть твоим.

mailq
источник
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

Евгений Коньков
источник