Migrer depuis Mailgun
Quittez Mailgun
pour OpenEmail.
Domaines dans l’URL, options o: et variables v:, transposés champ par champ, avec un convertisseur qui réécrit votre code.
Le même e-mail,
écrit des deux façons.
Un message avec une adresse de réponse et un tag, envoyé via Mailgun puis via OpenEmail.
import FormData from 'form-data'import Mailgun from 'mailgun.js'const mailgun = new Mailgun(FormData)const mg = mailgun.client({ username: 'api', key: process.env.MAILGUN_API_KEY })const result = await mg.messages.create('mg.acme.com', {from: 'Acme <[email protected]>',to: ['[email protected]'],subject: 'Your invoice is ready',html: '<p>Thanks for your order.</p>','h:Reply-To': '[email protected]','o:tag': ['invoice'],})console.log(result.id)
import { init, openemail } from '@openemail/sdk'init({ apiKey: process.env.OPENEMAIL_API_KEY })const email = await openemail.emails.send({from: 'Acme <[email protected]>',to: ['[email protected]'],subject: 'Your invoice is ready',html: '<p>Thanks for your order.</p>',replyTo: '[email protected]',tags: { tag: 'invoice' },})console.log(email.id)
Champ par champ,
ce qui va où.
Chaque option acceptée par Mailgun, et sa place dans OpenEmail.
| Mailgun | OpenEmail | Notes |
|---|---|---|
messages.create(domain, …) | from | Le domaine de l’adresse from décide. |
h:Reply-To | replyTo | Une adresse par message. |
h:X-* | headers | Un objet de noms et de valeurs. |
o:tag, v:* | tags | Jusqu’à 10 paires clé-valeur. |
o:deliverytime | scheduledAt | Une heure ISO au lieu d’une date RFC 2822. |
o:tracking-opens, o:tracking-clicks | tracking: { opens, clicks } | Des booléens au lieu de yes et no. |
template, t:variables | template: { id, props } | Recréez d’abord le modèle dans OpenEmail. |
attachment | attachments | Base64 ou octets, 5 Mo au total. |
recipient-variables | emails.sendBatch | Une entrée par destinataire, valeurs déjà remplies. |
Convertisseur
Collez votre code Mailgun,
récupérez-le sur OpenEmail.
Choisissez la provenance du code et son langage. Les clés reconnues sont retirées dans votre navigateur, et rien de ce que vous collez n’est conservé.
Au-delà du code,
quatre étapes de plus.
- 01
Ajoutez votre domaine d’envoi
Ajoutez-le dans OpenEmail et publiez les enregistrements DNS indiqués. L’envoi démarre dès que l’enregistrement de signature répond.
- 02
Créez une clé API
Les clés commencent par oe_live_ et ne portent que les droits que vous leur donnez.
- 03
Déplacez vos webhooks
Créez un endpoint pour les événements listés ci-dessous et vérifiez l’en-tête X-OpenEmail-Signature de chaque requête.
- 04
Apportez contacts et suppressions
Importez vos contacts en CSV sur la page d’une audience, puis ajoutez les adresses bloquées par Mailgun à la liste de suppression.
Les événements webhook,
renommés.
Chaque événement Mailgun et l’événement OpenEmail qui le remplace. Chaque requête porte un seul événement, signé.
| Mailgun | OpenEmail |
|---|---|
accepted | email.sent |
delivered | email.delivered |
failed (temporary) | email.delivery_delayed |
failed (permanent) | email.bounced |
complained | email.complained |
opened | email.opened |
clicked | email.clicked |
unsubscribed | suppression.added |
Quitter Mailgun,
les réponses à vos questions.
Vous venez
d’ailleurs ?
Chaque guide a le même convertisseur, la même table des champs et la même liste à cocher.
Converti ?
Créez la clé qu’il lit.
Un espace de travail se crée en une minute. Ajoutez votre domaine, créez une clé API et définissez OPENEMAIL_API_KEY.