Resend からの移行

Resend から
OpenEmail へ移る。

Resend SDK の接続先を OpenEmail に向けてコードをそのまま使うか、OpenEmail SDK に変換します。オーディエンス、連絡先、テンプレート、Webhook は 1 つのキーで移せます。

同じメールを、
両方の書き方で。

返信先アドレスとタグを 1 つずつ付けたメッセージを、まず Resend で、次に OpenEmail で送ります。

Resend
import { Resend } from 'resend' const resend = new Resend(process.env.RESEND_API_KEY) const { data, error } = await resend.emails.send({  from: 'Acme <[email protected]>',  to: ['[email protected]'],  replyTo: '[email protected]',  subject: 'Your invoice is ready',  html: '<p>Thanks for your order.</p>',  tags: [{ name: 'category', value: 'invoice' }],}) if (error) {  console.error(error.message)} else {  console.log(data.id)}
OpenEmail のコード
import { init, openemail } from '@openemail/sdk' init({ apiKey: process.env.OPENEMAIL_API_KEY }) try {  const email = await openemail.emails.send({    from: 'Acme <[email protected]>',    to: ['[email protected]'],    replyTo: '[email protected]',    subject: 'Your invoice is ready',    html: '<p>Thanks for your order.</p>',    tags: { category: 'invoice' },  })  console.log(email.id)} catch (error) {  console.error(error.message)}

フィールドごとに、
何がどこへ行くか。

Resend が受け付ける各オプションと、OpenEmail での置き場所。

ResendOpenEmail備考
from, to, cc, bcc, subject, html, textfrom, to, cc, bcc, subject, html, text名前も意味も同じ。
reply_toreplyTo1 通につきアドレスは 1 つ。
tags: [{ name, value }]tags: { name: value }キーと値のペアを最大 10 個。
reacthtml先にコンポーネントを HTML にレンダリングしてください。
attachments[].pathattachments[].contentファイルを取得し、そのバイト列を渡します。
scheduled_atscheduledAt日付、ISO 形式の時刻、または期間。
Idempotency-KeyidempotencyKey意味は同じで、最大 255 文字。
batch.sendemails.sendBatch最大 100 通。1 通ずつ個別に送信されます。
contacts.create({ audienceId })contacts.create({ audienceIds })名前フィールドは 1 つ、オーディエンスは複数。

コンバーター

Resend のコードを貼り付けて、
OpenEmail 用のコードを受け取る。

コードの移行元と言語を選んでください。検出したキーはブラウザ内で取り除き、貼り付けた内容は保存しません。

Resend から
Resend のコード
OpenEmail のコード

OpenEmail のコードがここに表示されます

ファイルを貼り付けるかサンプルを読み込んでから、変換してください。

0 / 12,000 文字検出したキーは送信前に取り除きます。

Resend から移るなら、
変えるのは 2 行だけ。

Resend SDK の接続先を OpenEmail に向ければ、コードはそのまま使えます。あとは連絡先、テンプレート、Webhook を移すだけです。

Resend ガイドを読む

違いは 2 つです。メッセージに指定できる返信先アドレスは 1 つだけで、content id で参照するインライン画像は通常の添付ファイルとして届きます。

Resend SDK のコードはそのまま
RESEND_BASE_URL=https://api.openemail.uk/compat/resendRESEND_API_KEY=oe_live_…

Resend 独自の形式とエラー名で応答

残りはキー 1 つで移行

  • 配信停止リスト
  • オーディエンス
  • 連絡先
  • テンプレート
  • Webhook

残りは
1 つのキーで。

Resend のキーを貼り付け、中身を確認してインポートを始めるだけ。データは移り、ドメインとキーはチェックリストで届くので、取りこぼしはありません。

Resend から移行

Resend から設定を移します。

Resend の API キー
フルアクセスの Resend キーを使ってください。終わったら取り消してください。
re_••••••••••••••••
推奨
配信停止リスト
214 件
バウンス、苦情、ブロックのアドレスは理由を保ったまま移ります。
オーディエンス
3 件
各セグメントがオーディエンスになります。
連絡先
8,532 件
購読中の連絡先だけが名前付きで移ります。
テンプレート
12 件
変数が宣言された HTML テンプレートとして移ります。
Webhook
2 件
署名方式が異なるため、オフの状態で追加されます。
ドメインのチェックリスト
2 件
各ドメインと公開するレコードを一覧にします。
API キーのチェックリスト
3 件
各キーを一覧にするので、作り直せます。
コードはそのまま
この 2 つの変数を設定すると、OpenEmail 経由で送信できます。
.env
RESEND_BASE_URL=https://api.openemail.uk/compat/resendRESEND_API_KEY=oe_live_…
移すもの

Webhook イベントを、
新しい名前で。

Resend の各イベントと、それに代わる OpenEmail のイベント。どのリクエストにも、署名付きのイベントが 1 つ入っています。

ResendOpenEmail
email.sentemail.sent
email.deliveredemail.delivered
email.delivery_delayedemail.delivery_delayed
email.bouncedemail.bounced
email.complainedemail.complained
email.openedemail.opened
email.clickedemail.clicked
email.failedemail.failed

Resend からの移行について、
お答えします。

変換できましたか?
コードが読み込むキーを作りましょう。

ワークスペースは 1 分で作れます。ドメインを追加し、API キーを作成して、OPENEMAIL_API_KEY を設定してください。