2015-06-09 38 views
10

Sono nuovo di Amazon SES e vedo che ci sono due modi per inviare messaggi di posta elettronica a livello di codice:Amazon Simple Email Service (SES) - Devo utilizzare l'interfaccia SMTP o l'API SES?

  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)

Cosa sono i pro e i contro di ogni metodo? Mi sembrano intercambiabili, ma mi piacerebbe sentire gente che ha avuto esperienza con SES.

In base alle mie esigenze, invierò ai miei utenti e-mail transazionali (ad es. Ricevute, conferma dell'account, ecc.) E e-mail di notifica (ad esempio "hai un nuovo messaggio", cambiamento di stato, ecc.) mentre interagiscono con la mia app web e mobile. Se possibile, mi piacerebbe mantenere una cronologia di tutte queste e-mail in uscita.

risposta

2

Essi sembrano intercambiabili a me

Ecco un'analisi imparziale. Io uso entrambi: API per nuovo codice, SMTP per codice esistente che sa già come parlare SMTP. Non ho trovato un caso valido in entrambi i casi.

Nessuna interfaccia conserverà una cronologia: dovrai farlo tu stesso. Un meccanismo su cui sto lavorando per un po 'di codice legacy è un proxy SMTP che cattura l'interazione tra l'app e SES, salvando l'intera transazione su S3 usando l'ID messaggio SES come chiave S3 per il successivo recupero, se necessario (ancora un lavori in corso, progetti più urgenti da fare).

Hai, almeno, la necessità di conservare quegli ID messaggio restituiti da SES e configurare notifiche di rimbalzo, consegna e reclami in modo da avere feedback ... che funziona ugualmente con entrambe le interfacce.

+0

Posso ottenere messaggi in account Amazon venditore utilizzando vero? – coder771

5

L'API SES si collega a AWS, l'interfaccia SMTP ... beh, è ​​SMTP.

Prevedi, in futuro, la necessità di spostare AWS? La tua applicazione parla già SMTP ad un altro server di posta elettronica?

A seconda dell'applicazione corrente, potrebbe essere più semplice utilizzare SMTP.

Se stai partendo da zero e non prevedi alcuna necessità di allontanarti da AWS, probabilmente dovresti utilizzare l'API SES.

2

Da Amazon's documentation on improving throughput, un vantaggio l'API è l'opzione di utilizzare connessioni HTTP persistenti per aumentare la velocità effettiva. Questo non è disponibile per l'opzione SMTP.

Oltre a ciò, non sono stato possibile trovare altre importanti differenze tra API e SMTP.

+0

Grazie per il link utile – HopeKing

2

Utilizzando l'API SES, si utilizza l'SDK, quindi è possibile utilizzare i ruoli nelle istanze: non sarà necessario gestire e memorizzare una password per la configurazione, in modo da non passare attraverso il dolore di cambiare la password.

ho rilasciato un piccolo progetto https://github.com/loopingz/aws-smtp-relay a relè da uno SMTP localhost per SES API, in questo modo è possibile collegare le applicazioni legacy che gestisce solo SMTP a un più normale API SES