Come migrare da Mailgun a SendGrid

Pubblicato: 2018-11-10

Se Mailgun è il tuo attuale fornitore di servizi di posta elettronica e stai cercando di apportare una modifica, questa procedura ti aiuterà a migrare a SendGrid evidenziando le differenze tra i due servizi.

Se desideri dare un'occhiata in giro prima di iniziare, controlla la documentazione di SendGrid che include ottime risorse prima di immergerti nel riferimento e nei dettagli dell'API.

Terminologia

Se stai cercando l'equivalente SendGrid di alcune funzionalità di Mailgun, la tabella seguente ti aiuterà:

Termine SendGrid Termine per fucile postale
sostituzioni/sezioni dati di sostituzione
categorie tag
unico_args X-Mailgun-Variabili
Credenziali multiple Accesso multiutente
subutente Mailgun non fornisce subutenti discreti.
soppressioni soppressioni
X-SMTPAPI Mailgun utilizza un X-Header discreto per ogni opzione di configurazione, come X-Mailgun-Recipient-Variables
Webhook di analisi in entrata Itinerari
Webhook per eventi Webhook
Campagne di marketing Nessun equivalente

Ottenere una chiave API

Innanzitutto, avrai bisogno di un account SendGrid. Successivamente, dovresti creare una chiave API che utilizzerai per l'invio. Vai su Impostazioni -> Chiavi API o usa questo link. Una procedura consigliata per SendGrid e sicurezza consiste nell'usare una chiave API diversa per ciascuna delle tue diverse app. Le chiavi API dispongono di autorizzazioni granulari, quindi puoi abilitare o disabilitare l'accesso in lettura o scrittura per i singoli endpoint. Assicurati che la chiave API che crei abbia accesso completo a Mail Send . (Nota: il tuo account deve superare il provisioning prima di poter creare una chiave API.)

Librerie API

Abbiamo una serie di librerie API ufficialmente supportate per facilitare l'integrazione per i nostri clienti. Se stai riscrivendo del codice o rifattorizzando il modo in cui comunichi con il tuo ESP come parte della tua migrazione, ora è un buon momento per valutare queste librerie:

  • sendgrid-csharp – Libreria C# ufficiale
  • sendgrid-go – Libreria ufficiale di Go
  • sendgrid-java – Libreria Java ufficiale
  • sendgrid-nodejs – Libreria ufficiale di NodeJS
  • sendgrid-php – Libreria PHP ufficiale
  • sendgrid-python – Libreria Python ufficiale
  • sendgrid-ruby – Libreria ufficiale di Ruby

SMTP

Se stai inviando tramite SMTP, ci sono alcune differenze di cui dovresti essere a conoscenza. Per autenticarti, fornisci la stringa 'apikey' come nome utente SMTP e usa la tua chiave API come password. Quindi punta il tuo nome host su smtp.sendgrid.net .

Puoi connetterti utilizzando SMTP tramite non crittografato o TLS sulle porte 25, 2525 e 587. Puoi anche connetterti tramite SSL sulla porta 465. In generale, consigliamo la porta 587 poiché tende a causare il minor numero di problemi con i provider di hosting.

Il meccanismo per la personalizzazione delle e-mail inviate tramite SMTP è la nostra intestazione X-SMTPAPI. Questa intestazione ti consentirà di definire sostituzioni, inviare richieste di stile di stampa unione in batch e controllare i filtri (come il monitoraggio dei clic) attivi per il tuo invio.

HTTP

L'endpoint principale per l'invio di e-mail è l'endpoint di posta. Le richieste a questo endpoint vengono autenticate tramite un'intestazione di autorizzazione con la chiave API presentata come token di trasporto. Puoi trovare un esempio più dettagliato nei nostri documenti.

Le personalizzazioni consentono di definire destinatari e metadati per ciascun messaggio, ad esempio valori di sostituzione per personalizzare il contenuto o custom_args per associare messaggi a ID utente o numeri di ordine. Sono disponibili numerosi esempi di personalizzazioni per casi d'uso comuni. Puoi anche trovare chiamate di esempio cURL.

Funzionalità come il monitoraggio dei clic sono configurate tramite i parametri tracking_settings e mail_settings. Puoi anche programmare gli invii fino a 72 ore in anticipo utilizzando il parametro "send_at".

Gli allegati inviati tramite HTTP vengono gestiti in modo diverso rispetto a Mailgun. Mailgun richiede un POST multipart/form-data contenente i file da allegare. Con SendGrid, il contenuto viene codificato come Base64 e incorporato direttamente nel payload JSON insieme alle informazioni MIME, mantenendo l'intero messaggio nello stesso payload e semplificando la richiesta HTTP. Puoi leggere ulteriori informazioni sull'inclusione di allegati nella sezione seguente della nostra aula di documentazione.

Webhook

SendGrid fornisce due webhook: il webhook di eventi per la pubblicazione di eventi in tempo reale e il webhook di analisi in entrata per la ricezione di e-mail e la risposta a livello di codice. Le forme dei dati e i carichi utili sono leggermente diversi da quelli forniti da Mailgun. Inoltre, al momento non supportiamo l'instradamento dei messaggi in entrata a diversi URL di richiamata; dovrai gestire quel tipo di logica nel codice piuttosto che a livello di API.

Endpoint API non di posta elettronica

Per gli endpoint API che non inviano e-mail, consulta la panoramica dell'API v3. Nella maggior parte dei casi utilizziamo metodi HTTP intuitivi e codici di risposta e applichiamo limiti di velocità per le chiamate. L'API v2 è deprecata, anche se non esiste una sequenza temporale per interrompere il supporto. Tutte le nuove integrazioni dovrebbero preferire la v3. L'autenticazione API v3 viene eseguita da un'intestazione di autenticazione con un token Bearer.

Campagne di marketing

Disponiamo di una piattaforma completa per la gestione degli elenchi di contatti, la creazione e la progettazione di modelli, il test A/B di diversi modelli e la pianificazione delle campagne. Tutto questo è racchiuso in un'interfaccia utente facile da usare per i non sviluppatori. E ovviamente puoi anche accedere a tutte queste funzionalità tramite la nostra API per le campagne di marketing.

Alcune FAQ

D: Supportate i modelli per le email transazionali?

A: Sì, e sono dinamici! I modelli transazionali di SendGrid presentano il supporto nativo per la sintassi Handlebars. Oltre alla sostituzione e alle sostituzioni di base, puoi utilizzare enumerazioni/iterare su elenchi, sfruttare condizionali e altro ancora. Per saperne di più, clicca qui.

D: Esiste una sandbox o un modo per testare le mie e-mail senza inviarle?

R: Puoi abilitare la modalità sandbox durante l'invio tramite HTTP. C'è anche un indirizzo "sink" che puoi usare per i test.

D: È possibile trasferire il mio indirizzo IP/reputazione mittente a SendGrid?

R: Non possiamo migrare un IP o una reputazione, ma possiamo aiutarti a riscaldare automaticamente un nuovo IP per te.

D: SendGrid supporta il TLS imposto ?

R: Assolutamente. È possibile richiedere che i server di ricezione supportino TLS e che i messaggi vengano inviati a server non conformi.

D: Posso consentire ai miei destinatari di definire i tipi di e-mail che desiderano ricevere?

R: Sì. Dare ai tuoi destinatari un maggiore controllo sulla loro e-mail ti consente di inviare e-mail che le persone desiderano, il che è meglio per tutti. Dai un'occhiata ai gruppi di annullamento dell'iscrizione per ulteriori informazioni.

Se sei interessato a migrare a SendGrid, puoi trovare maggiori informazioni su sendgrid.com/pricing.