Jak odbierać wiadomości e-mail za pomocą Amazon SES

18

Jestem nowy w Amazon Web Services (AWS) i AWS Simple Email Service (SES).

Czy AWS SES pozwala aplikacji na odbieranie e-maili? Nie mogłem znaleźć odniesienia w przewodniku dla programistów SES.

Moja aplikacja wymaga, aby otrzymane wiadomości e-mail dla klienta były identyfikowane według klienta i ostatecznie były przechowywane w bazie danych (programowo). Każdy klient otrzyma wiadomość e-mail w domenie obsługującej aplikację.

Powiedzmy na przykład, że aplikacja jest hostowana www.example.comw AWS. Wtedy klienci tego MojaApl może mieć maile typu: [email protected], [email protected], [email protected]tak.

Jeśli nie jest to możliwe w AWS SES, proszę zasugerować alternatywne rozwiązania (w przypadku dużych wiadomości e-mail), w jaki sposób można to zrobić w środowisku AWS?

java_pill
źródło
Czekać. Czy mówisz o wysyłaniu lub odbiorze?
mailq

Odpowiedzi:

9

SES firmy Amazon służy wyłącznie do wysyłania wiadomości e-mail. Jeśli chcesz otrzymywać wiadomości e-mail, musisz skonfigurować agenta transportu poczty (MTA), taki jak Sendmail, Postfix, Qmail itp. Na instancji serwera EC2 i skierować rekordy DNS MX na tę instancję. W takim przypadku prawdopodobnie będziesz musiał użyć elastycznego adresu IP (EIP), aby uzyskać statyczny adres IP. Nie wspominając o tym, że może się okazać, że zakres adresów IP zostanie zablokowany przez niektóre DNSBL.

Zwykle powstrzymuję się od otrzymywania wiadomości e-mail w ramach AWS i odbieram serwery poczty na zewnątrz na dedykowanych serwerach znajdujących się w tym samym miejscu lub na serwerach VPS, ponieważ są one zwykle tańsze i mniej obciążone.

Jeremy Bouse
źródło
22
To już nie jest prawda. Nowa aktualizacja Amazon SES zawiera dodanie reguł odbioru, które umożliwiają przechowywanie wiadomości e-mail na różne sposoby.
Elegant.Scripting
1
Nadal jest prawdą, aws.amazon.com/ses (przeczytaj dwie pierwsze linie), chociaż SES ma możliwość otrzymywania wiadomości e-mail przy użyciu reguł odbioru, nie można jej określić jako tradycyjnej lub osobistej skrzynki pocztowej.
Adnan
41

Dzisiaj jest twój wielki dzień! Uruchomiono AWS SES Odbieranie wiadomości e-mail: https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html

Zauważ, że nie jest przeznaczony do użytku jako osobista skrzynka pocztowa. Obecne ustawienie tworzy idealną platformę do automatycznego odbierania wiadomości e-mail. Idealny do zautomatyzowanego przetwarzania dowolnych generowanych raportów (takich jak wiadomości bankowe, raporty DMARC, faktury elektroniczne itp.)

Na przykład tutaj jest wiadomość zapisana w S3: https://s3-eu-west-1.amazonaws.com/s3.jakub-boucek.cz/temp/lts0ahe3tucqpoii4ji0g0u3u08nrpuk1g0p3bo1 i jest to wynik powiadomienia dostarczonego do mojego punktu końcowego https : http://pastebin.com/yR3RjjkE

JakubBoucek
źródło
1
Doskonałe znalezisko, Jakub. Jeszcze nie widziałem ogłoszenia o tym.
EEAA
1
Zorientowanie się, że SES jest skomplikowane. Czy ktoś zidentyfikował uproszczony samouczek? Czy Gmail można skonfigurować jako klienta usługi?
blong
Cześć @blong tak, SES jest bardzo złożony. Nie można zmusić Gmaila (lub innego dostawcy) do uczynienia tego „klientem”. To nie jest klasyczna skrzynka odbiorcza, SES to procesor maszynowy dla poczty przychodzącej. Możesz używać SES do przekierowywania wiadomości e-mail do Gmaila. Ale to też nie jest proste. Zobacz projekt AWS Lambda SES Email Forwarder .
JakubBoucek
Cześć @JakubBoucek, dziękuję za odpowiedź na moje pytania. Wygląda na to, że będę musiał znaleźć inne podejście. Oto coś, co mogę rozważyć: simplyian.com/2015/01/07/…
blong,
1
@ limasxgoesto0 Użyj dowolnego parsera MIME, takiego jak: github.com/nodemailer/mailparser
JakubBoucek
3

Aktualizacja: po opublikowaniu tej odpowiedzi Amazon dodał obsługę odbierania wiadomości e-mail za pośrednictwem SES. Jest przeznaczony do automatycznego przetwarzania i nie nadaje się do typowej skrzynki pocztowej IMAP. Szczegółowe informacje można znaleźć na stronie https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html .

Nieaktualne :

Amazon SES służy wyłącznie do wysyłania wiadomości e-mail.

(Źródło: http://aws.amazon.com/ses/ )

Amazon Simple Email Service (Amazon SES) to wysoce skalowalna i opłacalna hurtowa i transakcyjna usługa wysyłania wiadomości e-mail dla firm i programistów.

Odbieranie wiadomości e-mail nie jest trudne. Zdecydowanie łatwiejsze niż wysyłanie wiadomości e-mail, ze wszystkimi przeszkodami antyspamowymi. Co powiesz na skonfigurowanie serwera Postfix z wirtualnymi użytkownikami? O jakim tomie myślisz?

Martijn Heemels
źródło
2
Jeśli przegłosowałeś, byłbym wdzięczny za komentarz na temat przyczyny. W momencie pisania tej odpowiedzi (4 lata temu) z pewnością nie była zła.
Martijn Heemels,
... masz rację, odpowiedź nie była zła w momencie publikacji. Ale dzisiaj informacje są niepoprawne. Głosowanie w dół nie dotyczy ciebie, tylko informacji. Możesz rozważyć edycję lub aktualizację z poprawnymi informacjami. (tylko sugestia)
agentv
2

Amazon SES służy tylko do wysyłania i nigdy nie odbiera poczty (tylko odbija).

Musisz zweryfikować adres e-mail nadawcy, aby był prawidłowy. Jaki to będzie adres e-mail, zależy od Ciebie. Możesz mieć Freemail-Accounts, konto na serwerze pocztowym w EC2, konto na serwerze pocztowym w Twojej firmie lub dowolne konto e-mail, które posiadasz. Ale to musi być twoje.

mailq
źródło
0

Najlepsze podejście, jakie znalazłem, to lokalna instalacja serwera pocztowego „dovecot”. Dostrój, aby słuchać na 127.0.0.1 i Maildir:

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

Następnie zainstaluj 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

skonfiguruj AWS CLI

I skonfiguruj swojego klienta pocztowego, aby otrzymywać wiadomości e-mail ~/Maildirza pośrednictwem protokołu IMAP

Eugen Konkov
źródło