2016-06-29 21 views
9

Provato usando la personalizzazione con sostituzione come %body%. Tuttavia, viene visualizzato un messaggio di errore che indica Substitutions are limited to 10000 bytes per personalization. Fondamentalmente l'intero corpo differirebbe dal destinatario al destinatario.Sendgrid: invia mail distinte a destinatari diversi in una richiesta

Esiste un altro modo efficace per inviare messaggi distinti a destinatari diversi?

L'invio di una mail per richiesta sarebbe molto lento.

NOTA BENE: Il modello non è un'opzione in quanto i messaggi vengono creati in base all'attività corrente dell'utente.

+0

Forse utilizzando le sezioni: https://sendgrid.com/docs/API_Reference/SMTP_API/section_tags.html – Petah

+0

@Petah Questo è quello che ho provato, con '% body%' ma il limite di 10000 byte è stato superato. –

+0

Probabilmente dovresti semplicemente utilizzare il parametro 'template' durante la richiesta di salvataggio sullo spazio di personalizzazione. – Jodo1992

risposta

1

Penso che ciò che stai chiedendo semplicemente non sia possibile con l'API di Sendgrid. Stanno già fornendo un'opzione per includere variabili (10000 byte) per farlo.

Proposta n. 1: È possibile utilizzare un sistema di coda (ApacheMQ o Amazon SQS) con pochi dipendenti per elaborare l'invio di e-mail. La coda serve a prevenire l'eventuale mancata consegna di e-mail e gli operatori consentono di inviare più di una e-mail alla volta (2 lavoratori, 2 e-mail inviate in parallelo).

Proposta n. 2: Avere un semplice cronjob che viene eseguito ogni 5 minuti (è necessario calcolarlo in base a quante e-mail è necessario inviare e quale è il ritardo accettabile in base al quale inviare le e-mail) e ottiene 100 i clienti a chi inviare e-mail, in base a una colonna di un database che ti informa se hai inviato l'e-mail o meno, in modo da evitare l'invio di più di una e-mail allo stesso cliente.

Idealmente, seguirò la 1a proposta, ma potrebbe richiedere più lavoro. Potresti iniziare con # 2 e poi lavorare su # 1 bit per bit.

Spero che aiuti!

+0

Attualmente sto usando il modo # 2. Invio immediato di mail una dopo l'altra. Non so se c'è un limite al numero di chiamate API a Sendgrid. –

+0

Dovrai verificarlo, ma credo che siano più o meno OK, a patto che tu stia inviando e-mail a persone che hanno accettato di inviarti e-mail, e dal momento che paghi per ogni e-mail inviata, Sendgrid dovrebbe andare bene con esso . –

0

Stavo correndo al limite di 10000 byte pure. Nel mio caso si trattava di un caso limite, quindi per queste chiamate ho aggiunto un fallback utilizzando l'invio SMTP regolare.

    API
  1. chiamata SendGrid a prendere il codice HTML per il modello
  2. iterarlo sostituzioni e sostituire oggetto e il corpo
  3. Iterate i destinatari e fare uno SMTP-call per destinatario

Non è un'opzione per tutti, ma è stato molto facile da ottenere.

+0

Anche io ho fatto qualcosa di simile, sostituendo manualmente gli elementi in html e inviando singole email. Tuttavia, questo processo è lento. Sarebbe stato grandioso se in sendgrid ci fosse un modo per inviare ogni mail in una sola chiamata. Risparmia tempo e utilizzo della CPU. –