2015-06-09 22 views
10

Tôi mới đến Amazon SES và tôi thấy rằng có hai cách để lập trình gửi email:Dịch vụ email đơn giản của Amazon (SES) - Tôi có nên sử dụng Giao diện SMTP hoặc API SES không?

  1. SES API (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-api.html)
  2. SES SMTP Interface (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-using-smtp-java.html)

gì ưu và khuyết điểm của mỗi phương pháp là gì? Họ có vẻ hoán đổi cho tôi, nhưng tôi muốn nghe từ những người đã có kinh nghiệm với SES.

Về yêu cầu của riêng tôi, tôi sẽ gửi email giao dịch (nghĩa là biên nhận, xác nhận tài khoản, v.v.) và email thông báo (tức là "bạn có thư mới", thay đổi trạng thái, v.v.) cho người dùng của mình khi họ tương tác với web và ứng dụng dành cho thiết bị di động của tôi. Nếu có thể, tôi muốn giữ một lịch sử của tất cả các email gửi đi này.

Trả lời

2

Họ dường như hoán đổi cho nhau với tôi

Đó là một phân tích công bằng. Tôi sử dụng cả hai - API cho mã mới, SMTP cho mã hiện tại đã biết cách nói SMTP. Tôi đã không tìm thấy một trường hợp mạnh mẽ một trong hai cách.

Cả hai giao diện đều không lưu giữ lịch sử - bạn sẽ phải tự làm điều đó. Một cơ chế mà tôi đang làm việc để sử dụng với một số mã kế thừa là một proxy SMTP nắm bắt tương tác giữa ứng dụng và SES, lưu toàn bộ giao dịch vào S3 bằng ID tin nhắn SES làm khóa S3 để truy xuất sau nếu cần thiết (vẫn là công việc đang tiến hành, các dự án nhấn mạnh hơn để làm). Bạn, tối thiểu, cần phải giữ lại các ID tin nhắn được SES trả lại và định cấu hình các thông báo bị trả lại, phân phối và khiếu nại để bạn có phản hồi ... cũng hoạt động tương tự với giao diện.

+0

tôi có thể nhận được tin nhắn trong tài khoản amazon bán sử dụng nó? – coder771

5

API SES liên kết bạn với AWS, giao diện SMTP ... cũng là SMTP.

Bạn có thấy trước, trong tương lai cần phải di chuyển khỏi AWS? Ứng dụng của bạn đã nói SMTP với một máy chủ email khác chưa?

Tùy thuộc vào ứng dụng hiện tại của bạn, có thể dễ dàng hơn với SMTP.

Nếu bạn đang bắt đầu từ đầu và không thấy trước bất kỳ cần phải di chuyển ra khỏi AWS bạn có lẽ nên đi với API SES.

2

Từ Amazon's documentation on improving throughput, một lợi thế của API là tùy chọn sử dụng kết nối HTTP liên tục để tăng thông lượng. Điều này không có sẵn cho tùy chọn SMTP.

Ngoài ra, tôi đã không thể tìm thấy bất kỳ sự khác biệt lớn nào khác giữa API và SMTP.

+0

Cảm ơn bạn đã liên kết hữu ích – HopeKing

2

Bằng cách sử dụng API SES, bạn đang sử dụng SDK, vì vậy bạn có thể sử dụng Vai trò trên các phiên bản của mình: bạn sẽ không phải xử lý và lưu trữ mật khẩu cho cấu hình của mình, vì vậy bạn sẽ không phải trải qua nỗi đau thay đổi mật khẩu.

tôi phát hành một dự án nhỏ https://github.com/loopingz/aws-smtp-relay để chuyển tiếp từ một SMTP localhost để SES API, bằng cách này bạn có thể kết nối các ứng dụng cũ mà chỉ xử lý SMTP để một API SES bình thường hơn

Các vấn đề liên quan