Cách nhận email bằng Amazon SES


18

Tôi mới sử dụng Dịch vụ web Amazon (AWS) và Dịch vụ email đơn giản AWS (SES).

AWS SES có cho phép ứng dụng nhận email không? Tôi không thể tìm thấy tài liệu tham khảo trong hướng dẫn dành cho nhà phát triển SES.

Ứng dụng của tôi yêu cầu các email nhận được cho một khách hàng phải được xác định cho mỗi khách hàng và cuối cùng chúng sẽ được lưu trữ trên cơ sở dữ liệu (theo chương trình). Mỗi khách hàng sẽ có một email trên tên miền lưu trữ ứng dụng.

Ví dụ: ứng dụng được lưu trữ www.example.comtrên AWS. Sau đó, khách hàng của myapp này có thể có email như: john@example.com, barry@example.com, lisa@example.comnhư thế.

Nếu điều này là không thể trong AWS SES, vui lòng đề xuất các giải pháp thay thế (để gửi email với khối lượng lớn) về cách thực hiện điều này trong môi trường AWS?


Chờ đợi. Bạn đang nói về việc gửi hoặc nhận?
mailq

Câu trả lời:


9

SES của Amazon hoàn toàn dành cho việc gửi email. Nếu bạn muốn nhận email, bạn phải thiết lập một tác nhân vận chuyển thư (MTA) như Sendmail, Postfix, Qmail, v.v. trên một phiên bản máy chủ EC2 và trỏ các bản ghi DNS MX của bạn vào ví dụ đó. Trong trường hợp đó, bạn cũng có thể cần phải sử dụng IP đàn hồi (EIP) để bạn có IP tĩnh. Chưa kể bạn có thể kết thúc bằng việc tìm phạm vi địa chỉ IP bị chặn bởi các DNSBL nhất định.

Tôi có xu hướng không nhận email trong AWS và đã nhận máy chủ thư bên ngoài trên các máy chủ hoặc VPS được đặt cùng vị trí vì chúng có xu hướng rẻ hơn và ít bị đóng gói hơn.


22
Điều này không còn đúng nữa. Bản cập nhật mới của Amazon SES đi kèm với việc bổ sung các quy tắc nhận, cho phép bạn lưu trữ email theo nhiều cách khác nhau.
Elegant.Scripting 2/10/2015

1
Nó vẫn đúng, aws.amazon.com/kes (đọc hai dòng đầu tiên), mặc dù SES có khả năng nhận email bằng quy tắc nhận, nhưng nó không thể được chỉ định là hộp thư cá nhân hoặc truyền thống.
Ad Nam

41

Hôm nay là ngày trọng đại của bạn! AWS SES hiện đã ra mắt Nhận email: https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html

Bạn lưu ý, đó không được thiết kế để sử dụng như hộp thư cá nhân. Cài đặt hiện tại tạo nền tảng hoàn hảo để nhận e-mail tự động. Hoàn hảo cho quy trình tự động của mọi báo cáo được tạo (như tin nhắn ngân hàng, báo cáo DMARC, hóa đơn điện tử, v.v.)

Ví dụ: đây là thông báo đã được lưu vào S3: https://s3-eu-west-1.amazonaws.com/s3.jakub-boucek.cz/temp/lts0ahe3tucqpoii4ji0g0u3u08nrpuk1g0p3bo1 và thông báo này được gửi đến điểm cuối của tôi : http://pastebin.com/yR3RjjkE


1
Tìm thấy tuyệt vời, Jakub. Tôi chưa thấy thông báo về điều này chưa.
EEAA

1
Tôi thấy nó phức tạp để thiết lập SES. Có ai xác định một hướng dẫn đơn giản? Gmail có thể được định cấu hình như một ứng dụng khách cho dịch vụ không?
blong

Xin chào @blong vâng, SES rất phức tạp. Không thể khiến Gmail (hoặc nhà cung cấp khác) làm "khách hàng" cho việc này. Đây không phải là hộp thư đến cổ điển, SES là bộ xử lý máy cho các thư gửi đến. Bạn có thể sử dụng SES để chuyển hướng thư đến Gmail. Nhưng nó không đơn giản quá. Hãy tìm đến dự án Chuyển tiếp Email AWS Lambda SES .
JakubBoucek

Xin chào @JakubBoucek, cảm ơn vì đã trả lời câu hỏi của tôi. Có vẻ như tôi sẽ cần tìm một cách tiếp cận khác. Đây là một cái gì đó tôi có thể xem xét: Simplyian.com/2015/01/07/ trên
blong

1
@ limasxgoesto0 Sử dụng bất kỳ trình phân tích cú pháp MIME nào, như: github.com/nodemailer/mailparser
JakubBoucek

3

Cập nhật: Sau khi tôi đăng câu trả lời này, Amazon đã thêm hỗ trợ để nhận email thông qua SES. Nó được thiết kế để xử lý tự động và không thể sử dụng như một hộp thư IMAP thông thường. Xem https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html để biết chi tiết.

Đã lỗi thời :

Amazon SES chỉ để gửi email.

(Nguồn: http://aws.amazon.com/kes/ )

Dịch vụ email đơn giản của Amazon (Amazon SES) là một dịch vụ gửi email giao dịch và gửi hàng loạt có khả năng mở rộng và hiệu quả cao cho các doanh nghiệp và nhà phát triển.

Nhận email không khó lắm. Chắc chắn dễ dàng hơn gửi email, với tất cả các rào cản chống thư rác. Làm thế nào về việc thiết lập một máy chủ Postfix với người dùng ảo? Bạn đang nghĩ về loại khối lượng nào?


2
Nếu bạn đánh giá thấp, tôi sẽ đánh giá cao một nhận xét về lý do. Tại thời điểm câu trả lời này được viết (4 năm trước), nó chắc chắn không sai.
Martijn Heemels

... Bạn nói đúng, câu trả lời không sai tại thời điểm nó được đăng. Nhưng ngày nay, thông tin không chính xác. Vì vậy, một cuộc bỏ phiếu không phải là về bạn, mà là về thông tin. Bạn có thể xem xét một chỉnh sửa hoặc cập nhật với thông tin chính xác. (chỉ là một gợi ý)
agentv

2

Amazon SES chỉ để gửi và nó không bao giờ nhận thư (chỉ bị trả lại).

Bạn cần xác minh địa chỉ thư của người gửi là hợp lệ. Địa chỉ email này sẽ là tùy thuộc vào bạn. Bạn có thể có Tài khoản Freemail, một tài khoản trên máy chủ thư của bạn trên EC2, một tài khoản trên máy chủ thư trong công ty của bạn hoặc bất kỳ tài khoản email nào bạn sở hữu. Nhưng nó phải là của bạn.


0

Cách tiếp cận tốt nhất tôi đã tìm thấy là cài đặt máy chủ thư 'dovecot' cục bộ. Điều chỉnh để nghe trên 127.0.0.1 và Maildir:

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

Sau đó cài đặt 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

cấu hình AWS CLI

Và định cấu hình ứng dụng thư khách của bạn để nhận thư từ ~/Maildirqua giao thức IMAP

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.