Переезд с Mailgun
Переезжайте с Mailgun
на OpenEmail.
Домены в URL, параметры o: и переменные v:, сопоставленные поле за полем, и конвертер, который переписывает ваш код.
Одно и то же письмо,
написанное двумя способами.
Одно письмо с адресом для ответа и тегом, отправленное через Mailgun, а затем через 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)
Поле за полем:
что куда переходит.
Каждый параметр, который принимает Mailgun, и его место в OpenEmail.
| Mailgun | OpenEmail | Примечания |
|---|---|---|
messages.create(domain, …) | from | Решает домен адреса в from. |
h:Reply-To | replyTo | Один адрес на письмо. |
h:X-* | headers | Один объект с именами и значениями. |
o:tag, v:* | tags | До 10 пар ключей и значений. |
o:deliverytime | scheduledAt | Время в формате ISO вместо даты RFC 2822. |
o:tracking-opens, o:tracking-clicks | tracking: { opens, clicks } | Логические значения вместо yes и no. |
template, t:variables | template: { id, props } | Сначала создайте шаблон заново в OpenEmail. |
attachment | attachments | Base64 или байты, в сумме до 5 МБ. |
recipient-variables | emails.sendBatch | Одна запись на получателя, значения уже подставлены. |
Конвертер
Вставьте свой код для Mailgun
и получите его на OpenEmail.
Выберите, откуда код и на каком он языке. Распознанные ключи удаляются в вашем браузере, а вставленное нигде не хранится.
Помимо кода,
ещё четыре шага.
- 01
Добавьте домен отправки
Добавьте его в OpenEmail и опубликуйте указанные DNS-записи. Отправка начнётся, когда запись подписи станет отвечать.
- 02
Создайте API-ключ
Ключи начинаются с oe_live_ и получают только те права, которые вы им дадите.
- 03
Перенесите вебхуки
Создайте эндпоинт для событий из списка ниже и проверяйте заголовок X-OpenEmail-Signature в каждом запросе.
- 04
Перенесите контакты и список блокировки
Импортируйте контакты из CSV на странице аудитории и добавьте в список блокировки адреса, которые блокировал Mailgun.
События вебхуков,
под новыми именами.
Каждое событие Mailgun и событие OpenEmail, которое его заменяет. Каждый запрос несёт одно событие и подписан.
| 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 |
Переезд с Mailgun:
ответы на вопросы.
Переходите
с другой платформы?
В каждом руководстве тот же конвертер, та же карта полей и тот же чек-лист.
Сконвертировали?
Создайте ключ, который читает код.
Рабочее пространство создаётся за минуту. Добавьте свой домен, создайте API-ключ и задайте OPENEMAIL_API_KEY.