Як отримувати електронну пошту за допомогою Amazon SES


18

Я новачок у веб-службах Amazon (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

SES Amazon призначений виключно для надсилання електронної пошти. Якщо ви хочете отримувати електронну пошту, вам доведеться встановити агента транспорту поштового зв’язку (MTA), наприклад Sendmail, Postfix, Qmail тощо, на екземплярі сервера EC2 і вказати свої записи DNS MX на цей екземпляр. У цьому випадку вам також, ймовірно, доведеться використовувати еластичний IP (EIP), щоб мати статичний IP. Не кажучи вже про те, що ви можете виявити діапазон IP-адреси, який потенційно заблокований певними DNSBL.

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


22
Це вже не так. Нове оновлення Amazon SES постачається з додаванням правил отримання, які дозволяють зберігати електронні листи різними способами.
Елегантний. Сценарій

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

Привіт @JakubBoucek, дякую за відповіді на мої запитання. Схоже, мені потрібно знайти інший підхід. Ось, що я міг би розглянути: simpleian.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 (Amazon SES) - це високомасштабний і економічно ефективний сервіс для пересилання електронної пошти для бізнесу та розробників.

Отримання електронної пошти не так вже й складно. Однозначно простіше, ніж надсилання електронної пошти, з усіма її перешкодами проти спаму. Як щодо налаштування Postfix-сервера з віртуальними користувачами? Про який том ви думаєте?


2
Якщо ви зголосилися, я би вдячний за коментар про причину. У той час, коли ця відповідь була написана (4 роки тому), вона, безумовно, не була помилковою.
Martijn Heemels

... ви праві, відповідь не була помилковою під час публікації. Але сьогодні інформація невірна. Таким чином, голосування "за" - це не про вас, а про інформацію. Ви можете розглянути можливість редагування чи оновлення з правильною інформацією. (лише пропозиція)
agentv

2

Amazon SES призначений лише для надсилання, і він ніколи не отримує пошту (просто відскакує).

Потрібно підтвердити, що поштова адреса відправника є дійсною. Яка адреса електронної пошти це буде, ви самі. Ви можете мати облікові записи Freemail, акаунт на своєму поштовому сервері на 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.